home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / bbs / flst130.zip / FASTLST.DOC < prev    next >
Text File  |  1995-04-25  |  118KB  |  3,078 lines

  1.         **************************************************************
  2.         *                                                            *
  3.         *                                                            *
  4.         *   *******   **     ****   ******  ****     ****   ******   *
  5.         *    **   *  ****   **  **  * ** *   **     **  **  * ** *   *
  6.         *    ** *   **  **  **        **     **     **        **     *
  7.         *    ****   **  **   ****     **     **      ****     **     *
  8.         *    ** *   ******      **    **     **   *     **    **     *
  9.         *    **     **  **  **  **    **     **  ** **  **    **     *
  10.         *   ****    **  **   ****    ****   *******  ****    ****    *
  11.         *                                                            *
  12.         *                                                            *
  13.         *                         Version 1.30                       *
  14.         *                                                            *
  15.         *              The ultimate V7 nodelist processor            *
  16.         *                                                            *
  17.         *                                                            *
  18.         **************************************************************
  19.         *                                                            *
  20.         *        (C) Copyright 1992-1995  by  Alberto Pasquale       *
  21.         *                                                            *
  22.         *            A L L   R I G H T S   R E S E R V E D           *
  23.         *                                                            *
  24.         **************************************************************
  25.         
  26.         
  27.  
  28.                 FastLst 1.30 User's Manual, by Alberto Pasquale
  29.         
  30.         
  31.         
  32.                                   INTRODUCTION
  33.         
  34.         
  35.         -> For licensing information, please see License.Doc.
  36.         
  37.         Thanks for evaluating FastLst: the ultimate "Version 7" nodelist
  38.         processor.
  39.         
  40.         Version 7 is a common format for binary nodelists to be used by
  41.         mailers, message editors and all the programs that need access
  42.         to a compiled nodelist.
  43.         
  44.         Main characteristics:
  45.         
  46.         - Compiles to Version 7 format nodelist.
  47.         
  48.         - Support for old "Fidouser.Lst" sysop list.
  49.         
  50.         - Multiple output nodelist (V7) compilation from one config file.
  51.         
  52.         - The complete maintenance of archived lists and diffs is
  53.           achieved through internal flexible configuration, with no need
  54.           for clumsy batch files.
  55.         
  56.         - Uses "Squish(*) Style" Compress.Cfg.
  57.         
  58.         - Can be invoked from a batch file at predefined events: the
  59.           compilation will take place only if some new list/diff is found.
  60.         
  61.         - The 32 bit versions can use "in memory" mode to accomplish
  62.           blazing speed on systems with enough memory or "temporary
  63.           file" mode to avoid very slow operations in compiling large
  64.           nodelists on systems with little physical memory.
  65.         
  66.         - Multitasking friendly
  67.         
  68.         - The OS/2 32 bit version allows for priority setting in the
  69.           configuration file.
  70.         
  71.         - Compilation reports can be posted to Fido or Squish format
  72.           message areas.
  73.         
  74.         - Full 4D (point) support, both via the "Point,..." and
  75.           "Boss,..." keywords.
  76.         
  77.         - Internal support for "German type" pointlists.
  78.         
  79.         - Easy addition of nodes via the "Node,<address>,..." keyword
  80.           in a private list.
  81.         
  82.         - In the case of SysOps of multiple nodes, keeps in the sysop
  83.           lists (fidouser.lst and sysop.ndx) all the name/address
  84.           entries. Allows to keep one address only for specified
  85.           ones.
  86.         
  87.         - User Cost (Msg Fee) can be set different from Call Cost.
  88.         
  89.         
  90.         
  91.         
  92.         (*)  This program uses the Squish "MsgAPI" code,
  93.              Copyright 1991-1994 by SCI Communications.
  94.              "Squish" and Maximus are trademarks of
  95.              SCI Communications.
  96.         
  97.         (**) Binkley is Copyright 1988-1994 Bit Bucket Software
  98.         
  99.         
  100.         (***) 4OS2 is Copyright 1988-1994 JP Software Inc.
  101.         
  102.         
  103.         The archivers referred to throuhgout this documentation and
  104.         the accompanying files are Copyright and/or trademarks of the
  105.         respective owners.
  106.  
  107.         
  108.         
  109.                                OVERALL OPERATION
  110.         
  111.         
  112.         FastLst has been designed to be invoked regularly from one of
  113.         your main batch files, after mail has been received or at
  114.         pre-arranged times at your pleasure: if any new (compressed or
  115.         not) nodelist/nodediff is detected, Fastlst processes them as
  116.         required (exiting with Errorlevel 0), otherwise it immediately
  117.         exits (errorlevel 100) with no further delay.
  118.         
  119.         When FastLst detects a changed config or password file, it
  120.         compiles all the affected nodelists even if they are not new.
  121.         
  122.         If you want FastLst to compile all of your nodelists even if no
  123.         new ones are present, you need to use the -f or -i command line
  124.         switch.
  125.         
  126.         For each "output block" in the config file:
  127.         
  128.         - New compressed lists or diffs are detected, unarchived and
  129.           optionally rearchived in a different format.
  130.         
  131.         - New diffs are detected and applied: the resulting new nodelist
  132.           is archived.
  133.         
  134.         - New lists are detected and the pertinent output nodelists are
  135.           rebuilt. If no new list is found for a specific "output
  136.           block", that output nodelist is not compiled, unless the -f or
  137.           -i command line switch is specified.
  138.         
  139.         OS commands can be issued before or after every operation: for
  140.         example you can hatch the just created archive file.
  141.         
  142.         
  143.         ATTENTION:
  144.         
  145.         - Every time the config file is changed, FastLst rebuilds all
  146.           the output nodelists, as if the -f command line switch were
  147.           specified.
  148.         
  149.         - Every time a PasswordFile is changed, FastLst rebuilds the
  150.           nodelists that use it.
  151.  
  152.                              INPUT NODELIST FORMAT
  153.         
  154.         
  155.         The source nodelists and nodediffs must be in standard "St.
  156.         Louis" format, as described in FTS-0005. Anyway, FastLst allows
  157.         some extensions in order to support 4D points, "German style"
  158.         pointlists and easy single node specifications.
  159.         
  160.         
  161.         
  162.                        4D Point Support: POINT and BOSS keywords
  163.         
  164.         
  165.         the input nodelist format in order to support true "4D" points.
  166.         
  167.         
  168.         First method:
  169.         Points are entered in the nodelist directly following their
  170.         bossnode.  Each one starts with the "Point,<point>" keyword.
  171.         Example:
  172.         
  173.         ...
  174.         ...
  175.         ,504,Videl_3,Modena_I,Roberto_Zanasi,39-59-450600,9600,CM,XA,V32B,V42B
  176.         Point,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  177.         Point,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,2400,
  178.         Point,3,Carta,Modena,Francesco_Carta,-!Unpublished-,2400,
  179.         ...
  180.         ...
  181.         
  182.         
  183.         Second method:
  184.         Points are entered in the nodelist following the
  185.         "Boss,<address>" keyword. Example:
  186.         
  187.         ...
  188.         ...
  189.         Boss,2:332/504
  190.         ,1,Pasquale,Modena_I,Alberto_Pasquale,-!Unpublished-,9600,
  191.         ,2,SysOp,Modena_I,Roberto_Zanasi,-!Unpublished-,2400,
  192.         ,3,Carta,Modena,Francesco_Carta,-!Unpublished-,2400,
  193.         ...
  194.         ...
  195.  
  196.         
  197.         
  198.                                German Point List
  199.         
  200.         
  201.         This is a "normal" 3D nodelist that lists each Boss as a
  202.         "fakenet" HOST, with the real address as the system name,
  203.         followed by its points listed as nodes.
  204.         
  205.         Example:
  206.         
  207.         The following nodelist segment lists points 2:2400/1.1 .2 .3:
  208.         
  209.         Host,20000,2400/1,City,Sysop_Name,49-951-999999,9600,CM,V34
  210.         ,1,System_Name_1,City_1,Sysop_Name_1,49-951-999999,9600,
  211.         ,2,System_Name_2,City_2,Sysop_Name_2,49-951-999999,9600,
  212.         ,3,System_Name_3,City_3,Sysop_Name_3,49-951-999999,9600,
  213.  
  214.         
  215.         
  216.                                 The NODE Keyword
  217.         
  218.         
  219.         Another extension over FTS-0005 is provided to allow easy
  220.         addition of nodes in small private lists.
  221.         
  222.         When you need to add a node to your nodelist to call it or to
  223.         enforce a session password with it, you can use the
  224.         "Node,<address>,..." keyword to avoid the necessity of adding
  225.         its Zone and Host coordinators.
  226.         
  227.         You should specify a full 4D address (point optional).
  228.         
  229.         Any subsequent entry will take the current address as a starting
  230.         point.
  231.         
  232.         E.g.: You want to add 9:8/7.3
  233.         
  234.         With "Node,...":
  235.         ...
  236.         ...
  237.         Node,9:8/7.3,Mickey,DisneyLand,Mickey_Mouse,1-800-111,9600,CM
  238.         ...
  239.         ...
  240.         
  241.         With "Boss,...":
  242.         ...
  243.         ...
  244.         Boss,9:8/7
  245.         ,3,Mickey,DisneyLand,Mickey_Mouse,1-800-111,9600,CM
  246.         ...
  247.         ...
  248.         
  249.         With the traditional method:
  250.         ...
  251.         ...
  252.         Zone,9,...
  253.         Host,8,...
  254.         ,7,...
  255.         Point,3,Mickey,DisneyLand,Mickey_Mouse,1-800-111,9600,CM
  256.         ...
  257.         ...
  258.         
  259.         
  260.         Now let's add 8:7/6 and 8:7/7:
  261.         
  262.         With "Node,...":
  263.         ...
  264.         ...
  265.         Node,8:7/6,Mickey,DisneyLand,Mickey_Mouse,1-800-111,9600,CM
  266.         ,7,Duck,DisneyLand,Donald_Duck,1-800-112,9600,CM
  267.         ...
  268.         ...
  269.         
  270.         With the traditional method:
  271.         ...
  272.         ...
  273.         Zone,8,...
  274.         Host,7,...
  275.         ,6,Mickey,DisneyLand,Mickey_Mouse,1-800-111,9600,CM
  276.         ,7,Duck,DisneyLand,Donald_Duck,1-800-112,9600,CM
  277.         ...
  278.         ...
  279.  
  280.         
  281.         
  282.                                MISCELLANEOUS INFO
  283.         
  284.         
  285.                                 Multiple Sysops
  286.         
  287.         
  288.         In the case of SysOps of more than one system, all the
  289.         name/address couples are put in the SysOp Name Lists
  290.         (Fidouser.lst and Sysop.ndx).
  291.         
  292.         If you want to keep one only name/address couple for some
  293.         multiple SysOps, you can use the "SysDup <AddrLst>" option in
  294.         the config file: the SysOps who have one of the listed addresses
  295.         will be present in the SysOp lists with that entry only, even if
  296.         they have other addresses.
  297.         
  298.         Example: Let's suppose that Robert Everywhere has 4 nodes:
  299.         
  300.         EveryWhere, Robert      1:456/987.0
  301.         EveryWhere, Robert      2:123/457.0
  302.         EveryWhere, Robert      2:123/457.8
  303.         EveryWhere, Robert      6:321/567.0
  304.         
  305.         By default all the 4 addresses are available in the sysop
  306.         lists (and some programs allow to choose among them, e.g.
  307.         the excellent TimEd message editor by Gerard van Essen).
  308.         
  309.         If you prefer to keep one address only, you can specify the
  310.         desired address in a SysDup line in the config file:
  311.         e.g. "SysDup 2:123/457.8".
  312.         
  313.         
  314.                                Redirected Systems
  315.         
  316.         
  317.         Systems that have no valid phone number (Unpublished, on Hold),
  318.         are redirected, provided you do not exclude redirection using
  319.         the "NoRedir" config keyword.
  320.         
  321.         A redirected system is given the phone number, baud rate, modem
  322.         type, cost and flags of the preceding coordinator, the Board
  323.         name is prepended with '-R-'.
  324.         
  325.         If you have a session password with the system to be redirected
  326.         or with the system it should be redirected to, no redirection is
  327.         done in order to prevent password-mismatch errors in the case
  328.         the Unpublished/Hold system calls you.
  329.         
  330.         Points are never redirected.
  331.         
  332.         The systems that have no valid phone number and cannot be
  333.         redirected take an EMPTY phone number string, so that your
  334.         mailer does not send unexpected strings to your modem attempting
  335.         to call these systems, should something appear in your outbound
  336.         addressed to them.
  337.         
  338.         Pay attention: if you want to directly call these
  339.         null_phone-systems or their coordinators, you have to give them
  340.         a phone number using the "Phone <Addr> <NewNumber>" statement in
  341.         the configuration file.
  342.  
  343.         
  344.         
  345.                                   INSTALLATION
  346.         
  347.         
  348.         1) There are 4 versions of FastLst:
  349.         
  350.            FASTLST.EXE  OS/2 32 bit
  351.            FASTL16.EXE  OS/2 16 bit
  352.            FASTLDOS.EXE DOS 32 bit, with DOS4GW DOS Extender
  353.            FASTLD16.EXE DOS 16 bit
  354.         
  355.            The OS/2 and Dos versions are distributed in separate
  356.            archives (see Readme.1st).
  357.         
  358.         
  359.            OS/2 32 bit:
  360.         
  361.            to be used with OS/2 2.0 and above.
  362.         
  363.            You have only to decide whether to use the "FileMode"
  364.            statement in the configuration file. If you have enough
  365.            physical memory available you should use the default "in
  366.            memory" mode. On the other hand, if the execution of FastLst
  367.            is excessively slow, you probably are low on memory and you
  368.            could benefit by the use of the temporary file. You can use
  369.            the "-t" command line switch to experiment, before enabling
  370.            the "FileMode" statement in the configuration file, if really
  371.            necessary.
  372.         
  373.         
  374.            OS/2 16 bit:
  375.         
  376.            to be used with OS/2 1.3.
  377.         
  378.         
  379.            DOS 32 bit:
  380.         
  381.            to be used with Dos on a 386sx or better with free extended
  382.            memory.
  383.         
  384.            If you have enough free extended memory, you can use the
  385.            default and fast "in memory" mode (4MB allow the compilation
  386.            of approximately 64,000 nodes).
  387.         
  388.            If you do not have enough free memory, you can use the
  389.            "temporary file" mode, provided you have 800KB of free
  390.            extended memory (see the "-t" command line switch and the
  391.            "FileMode" configuration statement).
  392.         
  393.            If you have no free extended memory at all, you have to use
  394.            the 16 bit version.
  395.         
  396.         
  397.            DOS 16 bit:
  398.         
  399.            to be used with Dos on 8088 or better.
  400.         
  401.            The only requirement is 530KB (or better 600KB) of free
  402.            conventional memory.
  403.         
  404.            If you can't free enough conventional memory, you must use a
  405.            386sx or better with at least 800KB of free extended memory
  406.            and use the 32 bit version, which has less stringent
  407.            conventional memory requirements.
  408.         
  409.         
  410.         2) Write your FastLst.Cfg.
  411.            You can find useful examples in the Fast_*.Cfg files and
  412.            detailed information in the "CFG REFERENCE" section of this
  413.            documentation.
  414.         
  415.         
  416.         3) Edit your batch file in order to call FastLst whenever you
  417.            would like to test for the presence of new list/diff files
  418.            and process them. If you do not pass a different pathname as
  419.            a command line parameter, FastLst.Cfg must reside in the
  420.            current directory.
  421.         
  422.         
  423.         4) (OS/2): Make sure you have the MSGAPI32.DLL (32 bit version)
  424.              or MSGAPI.DLL (16 bit version) in a directory contained in
  425.              your LIBPATH. MSGAPI32.DLL and MSGAPI.DLL can be found in
  426.              the Squish 1.11 archive.
  427.         
  428.              If you have little memory and FastLst runs excessively
  429.              slow, try using the "temporary file" mode (see the "-t"
  430.              command line switch and the "FileMode" configuration
  431.              statement).
  432.         
  433.         
  434.            (DOS32): Make sure you have the DOS4GW.EXE Dos extender (from
  435.              Rational System Inc.) in your path.
  436.         
  437.              The DOS4GW extender requires an XMS or DPMI memory driver
  438.              installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
  439.              QuarterDeck Office Systems Inc.).
  440.         
  441.              FastLst requires lots of memory to compile long nodelists:
  442.              you must make sure that the Dos extender can make it
  443.              available to FastLst.
  444.         
  445.              If you need more memory than you physically have, you must
  446.              use the "temporary file" mode (see the "-t" command line
  447.              switch and the "FileMode" configuration statement).
  448.         
  449.              You could also use the "in memory" mode and activate the
  450.              DOS4GW virtual memory mode, but it is not recommended since
  451.              it could unacceptably slow down the compilation process.
  452.              Anyway, if you really want to test it on your own, the
  453.              virtual mode is activated using the DOS4GVM environment
  454.              variable (e.g. for 16MB virtual allocation size:
  455.              SET DOS4GVM=VirtualSize#16384).
  456.         
  457.         
  458.            (DOS16): Make sure you have at least 530KB of free
  459.              (conventional) memory. You should use small message buffers
  460.              (MsgSize statement) in order to avoid out of memory
  461.              conditions during the merge-sort process.
  462.         
  463.         
  464.            (DOS): Please note that FastLst tells you (on screen, in the
  465.              logs, in the report message) how much memory remains after
  466.              compilation, so that you can realize when you are running
  467.              in marginal conditions and consequently adjust your
  468.              configuration before you run out of memory.
  469.         
  470.              During the merge-sort process (16 bit and 32 bit in
  471.              "temporary file" mode) FastLst automatically uses the
  472.              maximum number of ways (up to 8) allowed by the available
  473.              memory. The minimum number of ways is obviously 2. So, if
  474.              FastLst reports a "2 Way Merging", you know that the final
  475.              "MemFree <bytes>" is the actual margin for the "out of
  476.              memory" error. On the other hand, if FastLst reports "3 Way
  477.              Merging" or more, you know that there is an additional
  478.              margin for the "out of memory", approximately 60KB for each
  479.              way above the minimum of 2.
  480.         
  481.         
  482.         
  483.                              COMMAND LINE SWITCHES
  484.         
  485.         
  486.         -c<cfg>
  487.                 Use <cfg> configuration file instead of FASTLST.CFG.
  488.         
  489.         -f
  490.                 Force compilation even if no new list/diff has been
  491.                 detected.
  492.         
  493.         -i      Ignore FastLst.Dat: run as if it were the first time.
  494.                 All nodelists compiled, all exports executed.
  495.         
  496.         -p
  497.                 Prepare: Unarc new lists and diffs, Apply diffs and Arc
  498.                 new nodelists, do not compile nodelists.
  499.         
  500.         -r
  501.                 When applying a diff, FastLst usually deletes the newly
  502.                 generated source nodelist file if a CRC error is
  503.                 detected. With this switch the new nodelist is _not_
  504.                 deleted, so that it will be processed anyway.
  505.         
  506.                 When compiling a list, FastLst usually aborts the
  507.                 compilation of the current output nodelist if a CRC
  508.                 error is detected. With this switch the current output
  509.                 nodelist will be entirely compiled anyway.
  510.         
  511.         -t
  512.                 Toggles between "temporary file" mode and "in memory"
  513.                 mode. If "FileMode" is enabled in the configuration
  514.                 file, it switches to "in memory" mode and vice versa.
  515.         
  516.         -h or -?
  517.                 for help
  518.         
  519.         
  520.                                   ERRORLEVELS
  521.         
  522.         
  523.         
  524.           0 - Normal termination, something compiled
  525.           1 - Help requested
  526.           2 - File Open error
  527.           3 - Abnormal termination
  528.           4 - Disk Full
  529.           5 - Can't find config file
  530.           6 - Configuration error
  531.           7 - Out of memory
  532.           8 - Read error while applying diff
  533.           9 - CRC error (applying diff)
  534.          10 - CRC error (compiling list)
  535.          11 - User Break
  536.          12 - Cannot rename temporary output nodelist files
  537.          13 - Cannot open source nodelist file
  538.          15 - Too many nodelists in inbound directories
  539.         
  540.         100 - Normal termination, nothing compiled
  541.         
  542.         250 - MsgApi: Init Error
  543.         251 - MsgApi: Area Open Error
  544.         252 - MsgApi: Area Lock Error
  545.         253 - MsgApi: Area Close Error
  546.  
  547.         
  548.         
  549.                                  CONFIGURATION
  550.         
  551.         
  552.         Before analyzing the cfg keywords in detail, let's introduce the
  553.         overall mechanism that is at the basis of FastLst's
  554.         configuration.
  555.         
  556.         If you are converting from a different nodelist compiler, please
  557.         forget the old configuration and start from scratch.
  558.         
  559.         FastLst.Cfg is divided into several logical blocks and the
  560.         sequence of the various statements is essential: you cannot just
  561.         put keywords somewhere in the config file; they must be arranged
  562.         in the correct order.
  563.         
  564.         At first, this characteristic of FastLst's configuration could
  565.         appear complex to understand, but, as soon as you will grasp its
  566.         logic, you will understand that it's really easy to write a
  567.         correct configuration file and you will appreciate its
  568.         extraordinary flexibility.
  569.         
  570.         The first block of configuration is the "Global" one.
  571.         The verbs in this block refer to the compilation of all the
  572.         nodelists.
  573.         
  574.         Then there are one or more "Output Blocks": each output block
  575.         refers to the compilation of a single V7 nodelist (e.g.
  576.         NODEX.*).
  577.         
  578.         Each "Output Block" has a "Output section" (with statements
  579.         regarding the compilation of the whole V7 list) and one or more
  580.         "Input blocks" containing the verbs that describe how to compile
  581.         each of the source nodelists.
  582.         
  583.         The first "Output Block" can optionally be of a special kind: a
  584.         "NoCompile" block, whose "Input Blocks" describe nodelists that
  585.         must be maintained (e.g. diffs applied) but not compiled to any
  586.         V7 list.
  587.         
  588.         Some statements can be used in blocks of a particular type only,
  589.         others can be used in many different places depending on what
  590.         nodelists you want to be affected. As a rule of thumb, you can
  591.         use each statement anywhere it seems to be logically acceptable.
  592.         
  593.         If you feel frightened by such abstract considerations, please
  594.         take a look at the example Fast*.Cfg files, so that you can
  595.         quickly realize it's not that difficult.
  596.         
  597.         To write your own configuration file you should start modifying
  598.         the example one that is more adequate to your needs.
  599.         
  600.         Now, let's consider all the verbs that are allowed in FastLst's
  601.         configuration.
  602.  
  603.         
  604.         
  605.                                  CFG REFERENCE
  606.         
  607.         
  608.         
  609.         - Items between square brackets (e.g. [<item>]) are optional.
  610.         
  611.         - The names of the various Keywords are NOT case sensitive.
  612.         
  613.         - When a directory path is required, the trailing backslash '\'
  614.           is optional.
  615.         
  616.         - The ';' character starts comments: any character following the
  617.           ';' is ignored, unless inside quoted strings.
  618.         
  619.         - The maximum length of configuration lines is 254 characters,
  620.           so don't go further (you can always split address lists into
  621.           smaller ones).
  622.         
  623.         - In the OS/2 version, any file specification can be a legal
  624.           OS/2 name, between double quotes if necessary.
  625.         
  626.         
  627.         Please, note that the order of the configuration statements
  628.         follows some logical rule. In order not to create confusion in
  629.         the .cfg file and not to break some _necessary_ order relation,
  630.         please follow the scheme proposed in the example Fast*.CFG files
  631.         and in this reference documentation.
  632.         
  633.         Please, be aware that the generation of text files (FidoTxt,
  634.         FidoPrn, FidoUserLst verbs) and the use of lots of options and
  635.         overrides can slow down the compilation process: use only the
  636.         options/overrides that you really need if you mind compilation
  637.         time.
  638.  
  639.         
  640.                                   G L O B A L
  641.         
  642.         
  643.         The following verbs can be used in the Global section of
  644.         FastLst.cfg. Some of them can be used in other places also, so
  645.         they are divided into separate sections.
  646.         
  647.         
  648.                                   G L O B A L
  649.         
  650.                                    Section A
  651.         
  652.         
  653.         
  654.         The following configuration verbs can be used in the GLOBAL
  655.         section of FastLst.Cfg.
  656.         
  657.         
  658.         RegKey <RegKey>
  659.         
  660.                 Registered Users only: <RegKey> is the registration key
  661.                 and it is NOT case sensitive.
  662.         
  663.             Example:
  664.         
  665.                 RegKey dfhyuwru6274623
  666.         
  667.         
  668.         
  669.         Priority <type> [<level>]
  670.         
  671.                 Changes the execution priority of the FastLst process
  672.                 (OS/2 32 bit only).
  673.         
  674.                 Ignored by OS/2 16 bit and DOS versions.
  675.         
  676.                 <type> is one of: Idle Regular High
  677.         
  678.                 <level> is an integer in the range 0...31 and defaults
  679.                 to 0.
  680.         
  681.                 If you do not use this statement, FastLst will run at
  682.                 the default priority, which normally is "Regular 0".
  683.         
  684.             Examples:
  685.         
  686.                 Priority High 31
  687.         
  688.                   Gives Fastlst the highest priority for "non
  689.                   time-critical" processes. It will run fast even if it
  690.                   is in the background and other processes are active.
  691.         
  692.         
  693.                 Priority Idle
  694.         
  695.                   Gives FastLst the lowest priority, so that it loads
  696.                   the system as minimally as possible. It will run
  697.                   significantly slower, especially if in the background
  698.                   or when other CPU intensive processes are in
  699.                   execution.
  700.         
  701.         
  702.         
  703.         FileMode
  704.         
  705.                 Enables the temporary file mode (32 bit only).
  706.         
  707.                 Ignored by the 16 bit versions.
  708.         
  709.                 Makes Fastlst use temporary files, so that the memory
  710.                 requirements remain low and independent of the size of
  711.                 the compiled nodelists.
  712.         
  713.                 If you do not use this statement, FastLst (32 bit) uses
  714.                 memory for storing the data it needs for building the V7
  715.                 indexes. If you have not enough free memory, the DOS 32
  716.                 version will return an "out of memory" error while the
  717.                 OS/2 32 one will run slowly.
  718.         
  719.         
  720.         
  721.         StatusLog <LogFile>
  722.         
  723.                 <LogFile> is the name of the file where all the
  724.                 operations performed by FastLst will be logged,
  725.                 following the "Binkley(**) Style".
  726.         
  727.                 In multitasking environments, please be sure to use a
  728.                 file that cannot be used by other processes at the same
  729.                 time. For example: if (in your system) FastLst can be
  730.                 executed while Binkley is running, please use different
  731.                 log files.
  732.         
  733.                 Should you not want the log file, you can comment this
  734.                 keyword out.
  735.         
  736.             Example:
  737.         
  738.                 StatusLog d:\bbs\log\FastLst.log
  739.         
  740.         
  741.         
  742.         CompressCfg <compress_cfg>
  743.         
  744.                 This is a "Squish style" compress definition file.
  745.         
  746.                 In the case you are using a case-sensitive
  747.                 de/compression program (e.g. OS/2 ZIP/UNZIP), please
  748.                 make sure to use the correct switches in <compress_cfg>
  749.                 and/or the correct case (Lower/Upper) in <NodeList> and
  750.                 <NodeDiff> specifications.
  751.         
  752.                 You can find the suggested <compress_cfg> in the example
  753.                 Compress.Cfg file included in the FastLst pack.
  754.         
  755.                 If you are already using Squish and or Maximus (*), you
  756.                 can just specify the name of their compress.cfg (but do
  757.                 check that they indicate the necessary switches to avoid
  758.                 case sensitiveness during extraction).
  759.         
  760.                 Refer to the "Compress Definition File" section at the
  761.                 end of this document for the syntax of <compress_cfg>.
  762.         
  763.         
  764.         
  765.         TmpPath <TmpDir>
  766.         
  767.                 Specifies a directory to be used for temporary files.
  768.         
  769.                 If TmpPath is not used, FastLst will use the path
  770.                 specified in the TEMP or TMP environment variables or
  771.                 (if they are not defined) the current directory.
  772.         
  773.                 FastLst will not damage any file already present in the
  774.                 temporary directory.
  775.         
  776.                 The 16 bit versions always use temporary files, while
  777.                 the 32 bit ones work in memory unless the "FileMode"
  778.                 statement or -t command line switch are used.
  779.         
  780.         
  781.         
  782.         InputPath <NodeDir>
  783.         
  784.                 Specifies the default path for input files (source
  785.                 nodelists/nodediffs). You can override it by using a
  786.                 full pathname in input-file specifications.
  787.         
  788.                 Created if not existing.
  789.         
  790.             Example:
  791.         
  792.                 InputPath d:\bbs\nodelist\
  793.         
  794.         
  795.         
  796.         ArcPath <ArcNodeDir>
  797.         
  798.                 Specifies the default path for Archived nodelist files.
  799.                 It usually points to the file area where your TIC
  800.                 processor moves the inbound nodelist archives.
  801.         
  802.                 You can override it by using a full pathname in
  803.                 Archived-file specifications.
  804.         
  805.             Example:
  806.         
  807.                 ArcPath d:\bbs\file\nodelist\
  808.         
  809.         
  810.         
  811.         KillAfter
  812.         
  813.                 Old V7 files are killed after the new ones have been
  814.                 successfully written.
  815.         
  816.                 The new V7 files are written to temporary names, then
  817.                 the old ones are killed and the new ones renamed (and
  818.                 FastLst retries for 15s in case of error, to be
  819.                 multitasking smart).
  820.         
  821.                 Thus you will always have a valid V7 nodelist, even in
  822.                 the case of a compilation error and consequent compile
  823.                 abortion. Besides, your multitasking system can continue
  824.                 operations while FastLst is working. On the other hand
  825.                 you could need some more spare disk space to hold the
  826.                 old and new files during compilation.
  827.         
  828.         
  829.         
  830.         KillSource
  831.         
  832.                 Tells FastLst to kill all uncompressed nodelists (that
  833.                 are also available in archived format) before
  834.                 terminating.
  835.         
  836.                 Please note that FastLst deletes a source nodelist only
  837.                 if the ArcList statement is defined.
  838.         
  839.                 Besides, when the NodeDiff statement is used, an
  840.                 ArcMethod must be defined to allow the deletion of the
  841.                 nodelist.
  842.         
  843.                 When no NodeDiff is defined, FastLst assumes that the
  844.                 uncompressed NodeList has been extracted from a
  845.                 corresponding archive.
  846.         
  847.         
  848.         
  849.         BeforeKillSource <command>
  850.         
  851.                 This statement is used to invoke a command of your
  852.                 choice before the source nodelists are killed, upon
  853.                 FastLst completion.
  854.         
  855.                 <command> is executed even if "KillSource" is not used.
  856.                 It is a means of invoking a command before FastLst ends.
  857.         
  858.                 The "NeededBeforeKill" verb must be used to specify the
  859.                 NodeLists needed by this command: if one of these
  860.                 nodelists is found new, then this command is invoked
  861.                 after decompressing all the nodelists that have the
  862.                 "NeededBeforeKill" attribute (and have not been
  863.                 decompressed yet).
  864.         
  865.                 IMPORTANT: <command> is executed ONLY if some nodelist
  866.                 affected by a "NeededBeforeKill" verb has been detected
  867.                 as new.
  868.         
  869.                 <command> can be any command that is valid for the
  870.                 command interpreter specified in your COMSPEC
  871.                 environment variable.
  872.         
  873.                 If <command> invokes an executable file, it is loaded
  874.                 and executed directly; otherwise your command
  875.                 interpreter is invoked, so that you can execute a batch
  876.                 file or any other valid command.
  877.         
  878.                 No variable parameters are supported.
  879.         
  880.         
  881.         
  882.         Dash2Comma
  883.         
  884.                 Change dashes to commas in the phone numbers.
  885.         
  886.                 Useful for people that are still connected to ancient
  887.                 "rotary pulse" electromechanic telephone exchanges.
  888.         
  889.         
  890.         
  891.         NoDash
  892.         
  893.                 Remove dashes from the phone numbers.
  894.         
  895.         
  896.         
  897.         NoReport
  898.         
  899.                 Do not output nodelist statistics
  900.         
  901.         
  902.         
  903.         NoRedir
  904.         
  905.                 Nodes that do not have a valid phone number (Hold,
  906.                 Unpublished) are usually redirected to their
  907.                 coordinators.
  908.         
  909.                 When this verb is used, redirection does not take place
  910.                 and the node is given an empty phone number, so that you
  911.                 never call a system different from that you think you
  912.                 are calling.
  913.         
  914.                 Please note that (even with no NoRedir verb):
  915.                 - points are never redirected;
  916.                 - if you have a password with a system or its
  917.                   coordinator, this node will never be redirected.
  918.         
  919.         
  920.         
  921.         V7BugFix
  922.         
  923.                 Circumvents a bug with V7 nodelist in Binkley 2.50 (and
  924.                 perhaps in many other programs whose V7 search function
  925.                 was inspired by Binkley's sources) that can sometimes
  926.                 hide segments of V7 nodelist. If you are unsure, keep
  927.                 this keyword active.
  928.         
  929.         
  930.         
  931.         MsgLogArea <path> [-$]
  932.         
  933.                 Some information about the compilation can be reported
  934.                 to a fido or squish message area.
  935.         
  936.                 <path> indicates a message area for reporting
  937.                        compilation logs.
  938.         
  939.                 -$     specifies that the area is in Squish format;
  940.                        otherwise it is assumed to be *.MSG.
  941.         
  942.                 The "MsgLog" statement (see Global Section C) can be
  943.                 used to add some information that is not reported by
  944.                 default.
  945.         
  946.             Examples:
  947.         
  948.                 MsgLogArea \bbs\mail\net -$
  949.                 MsgLogArea \bbs\mail\net\
  950.         
  951.         
  952.         
  953.         MsgRemArea <path> [-$]
  954.         
  955.                 The comments found in the compiled nodelists can be
  956.                 selectively reported to a fido or squish message area.
  957.         
  958.                 <path> indicates a message area for reporting
  959.                        compilation logs.
  960.         
  961.                 -$     specifies that the area is in Squish format;
  962.                        otherwise it is assumed to be *.MSG.
  963.         
  964.                 The "MsgRem" statement (see Global Section C) MUST be
  965.                 used to specify which types of comments you want to be
  966.                 reported.
  967.         
  968.                 Please note that no comments are reported if no "MsgRem"
  969.                 statement is used.
  970.         
  971.             Examples:
  972.         
  973.                 MsgRemArea \bbs\mail\net -$
  974.                 MsgRemArea \bbs\mail\net\
  975.         
  976.         
  977.         
  978.         MsgFromNode <address>
  979.         MsgToNode <address>
  980.         
  981.                 Specify the addresses for the created messages.
  982.         
  983.                 <address> is a 4D address.
  984.         
  985.             Example:
  986.         
  987.                 MsgFromNode 2:332/504
  988.                 MsgToNode   2:332/504.1
  989.         
  990.         
  991.         
  992.         MsgTo <name>
  993.         
  994.                 Specifies the name of the addressee of the created
  995.                 messages.
  996.         
  997.             Example:
  998.         
  999.                 MsgTo Alberto Pasquale
  1000.         
  1001.         
  1002.         
  1003.         MsgAttr <attributes>
  1004.         
  1005.                 Specifies the attributes for the created messages.
  1006.         
  1007.                 <attributes> can be a (not case sensitive) combination
  1008.                 of:
  1009.         
  1010.                 P : Private
  1011.                 K : Kill/Sent
  1012.                 C : Crash
  1013.                 H : Hold
  1014.                 D : Direct (crash + hold in squish messages)
  1015.         
  1016.             Examples:
  1017.         
  1018.                 MsgAttr P
  1019.                 MsgAttr pk
  1020.         
  1021.         
  1022.         
  1023.         MsgSize <bytes>
  1024.         
  1025.                 Specifies the maximum size of a single message: after
  1026.                 this length, the message is split.
  1027.         
  1028.                 Defaults to 7K, greater values are recommended, so that
  1029.                 the message is not divided into too many parts.
  1030.         
  1031.                 16 bit: maximum 65535
  1032.                 32 bit: no maximum (4294967295)
  1033.         
  1034.                 WARNING: Dos 16 version has stringent problems of
  1035.                 memory, so you should be happy with the 7K default.
  1036.         
  1037.             Example:
  1038.         
  1039.                 MsgSize 60000
  1040.  
  1041.         
  1042.         
  1043.                         Cost and Dial translation Tables
  1044.         
  1045.         
  1046.         You can specify costs and dial translations in separate tables
  1047.         or in a combined "Dial and Cost" table.
  1048.         
  1049.         To Europeans: you usually will prefer separate tables, since the
  1050.         dial translations are quite simple. This way you can keep the
  1051.         (very short) dial table always fixed, while adjusting the cost
  1052.         table to your needs. Anyway, if you do not use long cost tables,
  1053.         you could find the combined dial & cost table convenient.
  1054.         
  1055.         To Americans: you have quite long dial tables since you need to
  1056.         list all the "local exchange" codes. So you usually don't like
  1057.         duplicating this list for assigning the costs: you will
  1058.         appreciate the combined table. The custom definition for the
  1059.         list of local exchanges should also speed up the compilation of
  1060.         all the nodelist entries that are out of you Area Code.
  1061.         
  1062.         
  1063.         
  1064.                                    Cost Table
  1065.         
  1066.         
  1067.         This is the Cost Table to be used in association with a separate
  1068.         Dial table, that must follow.
  1069.         
  1070.         It begins with "Cost" and ends with the "End" keyword.
  1071.         
  1072.         Each entry in the cost table has the following format:
  1073.         
  1074.         <PartPhone> <Cost> [<UCost> [<StripFlags>]]
  1075.         
  1076.         <PartPhone>
  1077.                 is a partial phone number to be matched with the initial
  1078.                 part of nodelist entries. The dashes are ignored. The
  1079.                 <PartPhone> of the last entry must be a single dash "-",
  1080.                 to mean that all the remaining numbers will take the
  1081.                 costs specified there.
  1082.         
  1083.         <Cost>
  1084.                 is the cost field of the compiled nodelist (0->65535).
  1085.                 It represents the "Call Cost" for any node whose phone
  1086.                 number begins with <PartPhone> in the source nodelist
  1087.                 (before dialing translations).
  1088.         
  1089.         <UCost>
  1090.                 is an optional "User Cost" (fee for a netmail message on
  1091.                 BBS). If it is not used, it's taken equal to <Cost>. If
  1092.                 you would like your users to be able to send netmail
  1093.                 messages from the BBS with no need for "credits", you
  1094.                 should set <UCost> to 0.
  1095.         
  1096.         <StripFlags>
  1097.                 is an optional list of nodelist flags (not case
  1098.                 sensitive) to be stripped from entries of nodes whose
  1099.                 phone number begins with <PartPhone>. Thus you can strip
  1100.                 some modem-type flags (V32, HST, ZYX, ...) when calling
  1101.                 into critical areas. This parameter can only be used
  1102.                 after <UCost>.
  1103.         
  1104.         
  1105.         When searching for "PartPhone", the first matching entry is
  1106.         applied: in the case of entries with an initial part in common,
  1107.         you have to specify them in sequence from the longest to the
  1108.         shortest. If no match is possible, the last line specifies the
  1109.         default (thereby international) <Cost> and optional <UCost> and
  1110.         <StripFlags>.
  1111.         
  1112.         
  1113.             Example 1:
  1114.         
  1115.                 The following example assigns <UCost> = 0 to all, <Cost>
  1116.                 = 0 to local systems, 60 to domestic and 300 to
  1117.                 international ones.
  1118.         
  1119.                 Cost
  1120.                      39-59         0 0   ; local
  1121.                      39-          60 0   ; domestic long distance
  1122.                      -           300 0   ; international
  1123.                 End
  1124.         
  1125.         
  1126.             Example 2:
  1127.         
  1128.                 Now let's strip some flags from some areas.
  1129.         
  1130.                 Cost
  1131.                       1-703      300 0 HST,H14,H16 ; strip HST
  1132.                      45-123      300 0 V32,V32b    ; strip V32 and V32b
  1133.                      39-59         0 0             ; local
  1134.                      39-          60 0             ; long distance
  1135.                      -           300 0             ; international
  1136.                 End
  1137.         
  1138.         
  1139.             Example 3:
  1140.         
  1141.                 Now let's differentiate between urban and district calls
  1142.                 and between Continental and Intercontinental calls; call
  1143.                 and user cost considered equal.
  1144.         
  1145.                 Cost
  1146.                      39-59-2       5   ; urban
  1147.                      39-59-3       5   ; urban
  1148.                      39-59-4       5   ; urban
  1149.                      39-59-81      5   ; urban
  1150.                      39-59-82      5   ; urban
  1151.                      39-59        30   ; district
  1152.                      39           60   ; domestic long distance
  1153.                      43          100   ; Austria
  1154.                      32          100   ; Belgium
  1155.                      45          100   ; Denmark
  1156.                      33          100   ; France
  1157.                      49          100   ; Germany
  1158.                      44          100   ; UK
  1159.                      31          100   ; Netherlands
  1160.                      34          100   ; Spain
  1161.                      46          100   ; Sweden
  1162.                      41          100   ; Switzerland
  1163.                       1          200   ; USA/Canada
  1164.                      -           300   ; others
  1165.                 End
  1166.  
  1167.         
  1168.         
  1169.                                    Dial Table
  1170.         
  1171.         
  1172.         This table can be used either as a simple Dial Table in
  1173.         association with a separate preceding Cost Table or as a
  1174.         combined Cost/Dial Table (in which case the Cost Table must NOT
  1175.         exist).
  1176.         
  1177.         It begins with "Dial" and ends with the "End" keyword.
  1178.         
  1179.         Each entry has the following format:
  1180.         
  1181.         <PartPhone> [<PreSuf>]
  1182.         
  1183.         or
  1184.         
  1185.         <PartPhone> <PreSuf> [<Cost> [<UCost> [<StripFlags>]]]
  1186.         
  1187.         The first form is for the separate Dial Table, the second one is
  1188.         for the combined Cost/Dial Table.
  1189.         
  1190.         
  1191.         Two additional keywords are allowed inside the combined Dial Table:
  1192.         
  1193.         LocalValues <PartPhone> <PreSuf> [<Cost> [<UCost> [<StripFlags>]]]
  1194.         
  1195.                 Defines the dial translation and costs for the local
  1196.                 exchanges.
  1197.         
  1198.         LocalExchanges <num> ...
  1199.         
  1200.                 Lists all the local exchanges. Please remember that the
  1201.                 line length is limited to 254 characters. You can use
  1202.                 multiple "LocalExchanges <num> ..." lines if you like
  1203.                 short lines or need more than 254 characters.
  1204.         
  1205.                 Please note that all numbers that (after <PartPhone>
  1206.                 stripping) begin with <num> are considered local.
  1207.                 For example, if 220, 221, 222, 223, 224, 225, 226, 227,
  1208.                 228, 229 are all local exchanges, you can indicate 22 to
  1209.                 include them all.
  1210.         
  1211.         The use of these two statements in the place of a long list of
  1212.         normal table lines (one for each local exchange) should also
  1213.         speed up the processing of all the nodelist entries that are not
  1214.         in your area code.
  1215.         
  1216.         
  1217.         
  1218.         <PartPhone>
  1219.                 is a partial phone number to be matched with the initial
  1220.                 part of nodelist entries. The dashes are ignored. The
  1221.                 <PartPhone> of the last entry must be a single dash "-",
  1222.                 to mean that all the remaining numbers will take the
  1223.                 parameters specified there.
  1224.         
  1225.         <PreSuf>
  1226.                 can be one of:
  1227.                     a: <Prefix>
  1228.                     b: /<Suffix>
  1229.                     c: <Prefix>/<Suffix>
  1230.                     d: /
  1231.         
  1232.                 <PartPhone> is stripped from numbers beginning with it,
  1233.                 then <PreSuf> is used to prepend/append the specified
  1234.                 strings to the remainder.
  1235.         
  1236.                 Case a: <Prefix> is prepended.
  1237.                         e.g.: "39- 0"
  1238.                         strips "39-" and adds "0" at the beginning of
  1239.                         the number.
  1240.         
  1241.                 Case b: <Suffix> is appended.
  1242.                         e.g.: "39-59- /!"
  1243.                         strips "39-59-" and adds "!" at the end of the
  1244.                         number.
  1245.         
  1246.                 Case c: <Prefix> is prepended and <Suffix> appended.
  1247.                         e.g.: "39- 0/!"
  1248.                         strips "39-", adds "0" at the beginning and "!"
  1249.                         at the end.
  1250.         
  1251.                 Case d: Nothing is prepended nor appended.
  1252.                         e.g.: "/"
  1253.                         The slash is needed to allow the correct
  1254.                         interpretation of the subsequent fields, in the
  1255.                         case of combined Dial/Cost table.
  1256.         
  1257.                 No spaces are allowed between prefix, suffix and the
  1258.                 separating slash.
  1259.         
  1260.         The remaining fields are used as described in the "Cost Table"
  1261.         section. If the <Cost> field is omitted, it is taken equal to
  1262.         65535.
  1263.         
  1264.         When searching for "PartPhone", the first matching entry is
  1265.         applied: in the case of entries with an initial part in common,
  1266.         you have to specify them in sequence from the longest to the
  1267.         shortest. If no match is possible, the last line specifies the
  1268.         default (thereby international) parameters.
  1269.         
  1270.         
  1271.             Example 1 (separate tables, European viewpoint):
  1272.         
  1273.                 Dial
  1274.                   39-59-      ; local
  1275.                   39-      0  ; domestic
  1276.                   -        00 ; international
  1277.                 End
  1278.         
  1279.                 "39-59": Country and District codes are stripped for
  1280.                          local calls.
  1281.         
  1282.                 "39-"  : Country code is stripped and replaced by "0"
  1283.                          (domestic long distance code) for domestic
  1284.                          calls.
  1285.         
  1286.                 Others:  "00" (International access code) is prepended.
  1287.         
  1288.         
  1289.             Example 2a/2b (combined tables, North American viewpoint):
  1290.         
  1291.                 Since this one is a bit more complex, let's make clear
  1292.                 some points.
  1293.         
  1294.                 There are some groups of phone numbers:
  1295.         
  1296.                 1 - Local numbers.
  1297.                     The Country Code (1) and the Area Code must be
  1298.                     stripped.
  1299.         
  1300.                 2 - Area Code numbers.
  1301.                     They have your same Area Code but they are long
  1302.                     distance.
  1303.                     As far as I know, some of you have to dial the Area
  1304.                     Code and some do not. In any case you usually want
  1305.                     to differentiate costs.
  1306.         
  1307.                     The Country (1) and Area Codes must be stripped and
  1308.                     replaced by the long distance access code (1) and
  1309.                     (for some of you) the Area Code (in the latter case,
  1310.                     the number really remains untouched).
  1311.         
  1312.                     Even if the Country Code for USA/Canada (1) is
  1313.                     numerically equal to your long distance acces code,
  1314.                     they are conceptually quite different, and so they
  1315.                     will be treated.
  1316.         
  1317.                 3 - Domestic numbers.
  1318.                     USA/Canada numbers, with a leading "1", that is the
  1319.                     international Country Code for USA and Canada.
  1320.                     They must be left untouched, since the american long
  1321.                     distance access code is equal to the international
  1322.                     Country Code for North America.
  1323.         
  1324.                 4 - International numbers.
  1325.                     These are numbers out of USA and Canada.
  1326.                     They must be prefixed by "011", that is the
  1327.                     international access code.
  1328.         
  1329.                 And now let's see how to achieve our goal using
  1330.                 FastLst's Dial Table.
  1331.         
  1332.         
  1333.             Example 2a:
  1334.         
  1335.                 Let's suppose:
  1336.         
  1337.                 - we are in Area Code 414
  1338.                 - the 414 must be stripped for LD calls
  1339.                 - the local exchanges are 231, 232, 233, 235, 236, 424
  1340.         
  1341.         
  1342.                 Dial
  1343.                         ; strip 1-414- from local numbers, do not add
  1344.                         ; a prefix, set call and user costs to 0.
  1345.         
  1346.                   LocalValues 1-414- / 0
  1347.                   LocalExchanges 231 232 233 235 236 424
  1348.         
  1349.                         ; Remaining "1-414-" numbers are long distance:
  1350.                         ; strip the 414 Area Code and assign costs = 25.
  1351.         
  1352.                   1-414-  1-  25
  1353.         
  1354.                         ; Remaining "1-" numbers are Domestic Long Distance.
  1355.                         ; Set costs to 50
  1356.         
  1357.                   1-      1-  50
  1358.         
  1359.                         ; Remaining numbers are international.
  1360.                         ; Prepend 011 and set call cost to 250 and
  1361.                         ; user cost to 500
  1362.         
  1363.                   -       011 250 500
  1364.                 End
  1365.         
  1366.         
  1367.         
  1368.             Example 2b:
  1369.         
  1370.                 Let's suppose:
  1371.         
  1372.                 - we are in Area Code 604
  1373.                 - the 604 must NOT be stripped for LD calls
  1374.                 - the local exchanges are 220 221 222 224 228 230 231 240
  1375.                   241 244 250 251 252 253 254 255 257 258 261 263 264 266
  1376.         
  1377.         
  1378.                 Dial
  1379.                         ; strip 1-604- from local numbers, do not add
  1380.                         ; a prefix, set call and user costs to 0.
  1381.         
  1382.                   LocalValues 1-604- / 0
  1383.                   LocalExchanges 220 221 222 224 228 230 231 240
  1384.                   LocalExchanges 241 244 250 251 252 253 254 255
  1385.                   LocalExchanges 257 258 261 263 264 266
  1386.         
  1387.                         ; Remaining "1-604-" numbers are long distance:
  1388.                         ; assign costs = 25.
  1389.         
  1390.                   1-604-  1-604-  25
  1391.         
  1392.                         ; Remaining "1-" numbers are Domestic Long Distance.
  1393.                         ; Set costs to 50
  1394.         
  1395.                   1-      1-  50
  1396.         
  1397.                         ; Remaining numbers are international.
  1398.                         ; Prepend 011 and set call cost to 250 and
  1399.                         ; user cost to 500
  1400.         
  1401.                   -       011 250 500
  1402.                 End
  1403.         
  1404.         
  1405.         
  1406.             Example 3 (combined table, European viewpoint):
  1407.         
  1408.                 The following combined table is equivalent to the
  1409.                 separate "Example 3" for the Cost Table and Example 1
  1410.                 for the Dial Table.
  1411.         
  1412.         
  1413.                 Dial
  1414.                   LocalValues 39-59- / 5
  1415.                   LocalExchanges 2 3 4 81 82    ; urban
  1416.                   39-59- /     30   ; district
  1417.                   39-    0     60   ; domestic long distance
  1418.                   43     0043 100   ; Austria
  1419.                   32     0032 100   ; Belgium
  1420.                   45     0045 100   ; Denmark
  1421.                   33     0033 100   ; France
  1422.                   49     0049 100   ; Germany
  1423.                   44     0044 100   ; UK
  1424.                   31     0031 100   ; Netherlands
  1425.                   34     0034 100   ; Spain
  1426.                   46     0046 100   ; Sweden
  1427.                   41     0041 100   ; Switzerland
  1428.                   1      001  200   ; USA/Canada
  1429.                   -      00   300   ; others
  1430.                 End
  1431.  
  1432.         
  1433.         
  1434.                                 Modem Type Table
  1435.         
  1436.         
  1437.         If you have a modem that does not need different dial strings
  1438.         for different protocol connections, you can skip this section.
  1439.         For Example a Zyxel modem usually needs one only dial string for
  1440.         any type of connection (unless you do not use "Multi-Auto"
  1441.         mode).
  1442.         
  1443.         Instead, if you need different dial strings, you can use the
  1444.         Modem_Type field in conjunction with some front-end feature that
  1445.         allows to specify different dial strings for different modem
  1446.         types ("ModemTrans" in Binkley).
  1447.         
  1448.         Each entry in the TypeDef table has the following format:
  1449.         <Flag> <Value>
  1450.         
  1451.         <Flag> is a Nodelist flag, <Value> is a number 0->255.
  1452.         
  1453.         The nodelist flags of each node are searched for <Flag>.
  1454.         The <Flag> must match completely a nodelist flag: if <Flag> is
  1455.         V32 and the nodelist flag is V32B, it's not a match.
  1456.         The search is not case sensitive.
  1457.         
  1458.         If <Flag> is found, the corresponding ModemType field is set to
  1459.         <Value>, otherwise the next <Flag> is searched for.
  1460.         
  1461.         The ModemType field of the compiled nodelist will be determined
  1462.         by the first match only: If you define HST before V32, a node
  1463.         with both V32 and HST will have a HST modem type.
  1464.         
  1465.         The following examples are valid for Binkley's new "exact match"
  1466.         modemtrans style only (for use of old bitwise style, see below).
  1467.         
  1468.         
  1469.             Example 1:
  1470.         
  1471.                 for USR Courier Dual Standard V.Everything:
  1472.         
  1473.         
  1474.                 TypeDef
  1475.                   V34   1 ; first choice
  1476.                   VFC   2
  1477.                   V32T  3
  1478.                   H16   4
  1479.                   V32B  5
  1480.                   ZYX   5 ; ZYX implies V32B
  1481.                   Z19   5
  1482.                   Z16   5
  1483.                   H14   6
  1484.                   V32   7
  1485.                   HST   8
  1486.                 End
  1487.         
  1488.         
  1489.             In Binkley.Cfg you can use:
  1490.         
  1491.         
  1492.                 ModemTrans   0 ATB0D/  ; default
  1493.                 ModemTrans   1 ATB0D/  ; V34
  1494.                 ModemTrans   2 ATB0D/  ; VFC
  1495.                 ModemTrans   3 ATB0D/  ; V32T
  1496.                 ModemTrans   4 ATB1D/  ; H16
  1497.                 ModemTrans   5 ATB0D/  ; V32B, ZYX
  1498.                 ModemTrans   6 ATB1D/  ; H14
  1499.                 ModemTrans   7 ATB0D/  ; V32
  1500.                 ModemTrans   8 ATB1D/  ; HST
  1501.         
  1502.         
  1503.         
  1504.             Example 2:
  1505.         
  1506.                 for 2 lines, ISDN and USR DS V.Everything:
  1507.         
  1508.                 The UISDNA, UISDNB, UISDNC entries are required only
  1509.                 until the incorrect ",UISDNA," type entries are changed
  1510.                 to the correct ",U,ISDNA," style or the ISDN flags become
  1511.                 standard flags (not user defined as they currently are).
  1512.         
  1513.         
  1514.                 TypeDef
  1515.                   ISDNC  1
  1516.                   UISDNC 1
  1517.                   ISDNB  2
  1518.                   UISDNB 2
  1519.                   ISDNA  3
  1520.                   UISDNA 3
  1521.                   V34    4
  1522.                   VFC    5
  1523.                   V32T   6
  1524.                   H16    7
  1525.                   V32B   8
  1526.                   ZYX    8 ; ZYX implies V32B
  1527.                   Z19    8
  1528.                   Z16    8
  1529.                   H14    9
  1530.                   V32   10
  1531.                   HST   11
  1532.                 End
  1533.         
  1534.         
  1535.             In Binkley.Cfg, ISDN line, you can use:
  1536.         
  1537.                 ModemTrans   0                     ; don't dial (2400)
  1538.                 ModemTrans   1 <ISDNC_Dial_String> ; ISDNC
  1539.                 ModemTrans   2 <ISDNB_Dial_String> ; ISDNB
  1540.                 ModemTrans   3 <ISDNA_Dial_String> ; ISDNA
  1541.                 ModemTrans   4                     ; don't dial (V34)
  1542.                 ModemTrans   5                     ; don't dial (VFC)
  1543.                 ModemTrans   6                     ; don't dial (V32T)
  1544.                 ModemTrans   7                     ; don't dial (H16)
  1545.                 ModemTrans   8                     ; don't dial (V32B,ZYX)
  1546.                 ModemTrans   9                     ; don't dial (H14)
  1547.                 ModemTrans  10                     ; don't dial (V32)
  1548.                 ModemTrans  11                     ; don't dial (HST)
  1549.         
  1550.         
  1551.             In Binkley.Cfg, USR line, you can use:
  1552.         
  1553.                 ModemTrans   0 ATB0D/  ; default (2400)
  1554.                 ModemTrans   1         ; don't dial (ISDNC)
  1555.                 ModemTrans   2         ; don't dial (ISDNB)
  1556.                 ModemTrans   3         ; don't dial (ISDNA)
  1557.                 ModemTrans   4 ATB0D/  ; V34
  1558.                 ModemTrans   5 ATB0D/  ; VFC
  1559.                 ModemTrans   6 ATB0D/  ; V32T
  1560.                 ModemTrans   7 ATB1D/  ; H16
  1561.                 ModemTrans   8 ATB0D/  ; V32B, ZYX
  1562.                 ModemTrans   9 ATB1D/  ; H14
  1563.                 ModemTrans  10 ATB0D/  ; V32
  1564.                 ModemTrans  11 ATB1D/  ; HST
  1565.         
  1566.         
  1567.         
  1568.             Example 3:
  1569.         
  1570.                 for 2 lines, ISDN and analog, when you want both lines
  1571.                 enabled to dial systems that have both ISDN and analog
  1572.                 access. You usually should not want such a behaviour
  1573.                 (why calling a ISDN system the analog way ?); however,
  1574.                 if you really know what you are doing, here is a viable
  1575.                 trick.
  1576.         
  1577.                 You have to use the "BitType" mode (see below):
  1578.         
  1579.                 BitType
  1580.         
  1581.                 Typedef
  1582.                   ISDNA 1
  1583.                   ISDNB 1
  1584.                   ISDNC 1
  1585.                   V34   2
  1586.                   VFC   2
  1587.                   V32T  2
  1588.                   V32B  2
  1589.                   V32   2
  1590.                 End
  1591.         
  1592.         
  1593.             In Binkley.Cfg, ISDN line, you can use:
  1594.         
  1595.                 ModemTrans 0                      ; don't dial (2400)
  1596.                 ModemTrans 1  <ISDN_Dial_String>  ; ISDN only
  1597.                 ModemTrans 2                      ; don't dial (analog only)
  1598.                 ModemTrans 3  <ISDN_Dial_String>  ; ISDN + analog
  1599.         
  1600.         
  1601.             In Binkley.Cfg, analog line, you can use:
  1602.         
  1603.                 ModemTrans 0 ATDT                 ; 2400
  1604.                 ModemTrans 1                      ; don't dial (ISDN only)
  1605.                 ModemTrans 2 ATDT                 ; analog only
  1606.                 ModemTrans 3 ATDT                 ; analog + ISDN
  1607.         
  1608.         
  1609.         
  1610.         For compatibility with old Binkleys and derived systems, the
  1611.         following statement is provided:
  1612.         
  1613.         BitType
  1614.         
  1615.         If you need old-style bit-oriented modem type, you must enable
  1616.         this verb. In this case the "TypeDef" works differently:
  1617.         - <Value> should be a power of 2 (1, 2, 4, 8, 16, 32, 64, 128).
  1618.         - The ModemType will be determined by ORing all the <Value>s
  1619.           corresponding to <Flag>s that found a match in the nodelist
  1620.           flags.
  1621.         - The dial string used by your front-end will be determined by
  1622.           the order of their specifications (the first ModemTrans that
  1623.           has some bit in common with the modem type will be used).
  1624.         
  1625.             Example for USR Courier Dual Standard V.Everything:
  1626.         
  1627.                 BitType
  1628.         
  1629.                 TypeDef
  1630.                   V34   1 ; first choice
  1631.                   VFC   2
  1632.                   V32T  4
  1633.                   H16   8
  1634.                   V32B 16
  1635.                   ZYX  16 ; ZYX implies V32B
  1636.                   Z19  16
  1637.                   Z16  16
  1638.                   H14  32
  1639.                   V32  64
  1640.                   HST 128
  1641.                 End
  1642.         
  1643.         
  1644.             In Binkley.Cfg you can use:
  1645.         
  1646.         
  1647.                 ModemTrans   0 ATB0D/  ; default
  1648.                 ModemTrans   1 ATB0D/  ; V34
  1649.                 ModemTrans   2 ATB0D/  ; VFC
  1650.                 ModemTrans   4 ATB0D/  ; V32T
  1651.                 ModemTrans   8 ATB1D/  ; H16
  1652.                 ModemTrans  16 ATB0D/  ; V32B, ZYX
  1653.                 ModemTrans  32 ATB1D/  ; H14
  1654.                 ModemTrans  64 ATB0D/  ; V32
  1655.                 ModemTrans 128 ATB1D/  ; HST
  1656.  
  1657.         
  1658.         
  1659.                                   G L O B A L
  1660.         
  1661.                                    Section B
  1662.         
  1663.         
  1664.         
  1665.         The statements in this section affect the processing of all
  1666.         the output blocks and thereby of all the input nodelists.
  1667.         
  1668.         These statements can also be used in the "OUTPUT" section of an
  1669.         OUTPUT block or inside an INPUT block, in which case they affect
  1670.         the compilation of the relevant block only.
  1671.         
  1672.         In the case you use a verb that has already been used in a
  1673.         "higher level" block, it will behave as a local override.
  1674.         
  1675.         
  1676.         
  1677.         NeededBeforeKill
  1678.         
  1679.                 Tells FastLst that the affected NodeList(s) are needed
  1680.                 by the command run via the "BeforeKillSource" statement.
  1681.         
  1682.                 The "BeforeKillSource" verb allows you to run a command
  1683.                 (executable or batch file) after the compilation has
  1684.                 completed, just before FastLst ends and (if "KillSource"
  1685.                 is used) deletes the source files that are also present
  1686.                 in archived form.
  1687.         
  1688.                 The lists affected by "NeededBeforeKill" are extracted,
  1689.                 if not already present, before the "BeforeKillSource"
  1690.                 command is executed.
  1691.         
  1692.         
  1693.         
  1694.         ArcMethod <meth>[,<f>] ...
  1695.         
  1696.                 Tells FastLst that it must make sure that all new
  1697.                 nodelists are archived using the specified methods.
  1698.                 The original archive is NOT killed.
  1699.         
  1700.                 Obviously, a new nodelist is not rearchived to its
  1701.                 original method.
  1702.         
  1703.                 <meth> is the name of an archiver defined in
  1704.                 compress.cfg.
  1705.         
  1706.                 <f> is the optional specification of the letter to be
  1707.                 used for the variable archive extension. If not
  1708.                 specified, it is assumed equal to the first letter of
  1709.                 the defaults extension for this archiver.
  1710.         
  1711.                 Multiple ArcMethod statements are allowed.
  1712.         
  1713.         
  1714.             Example 1:
  1715.         
  1716.                 ArcMethod ZIP LH,H
  1717.         
  1718.                 NodeList.Z48 arrives: it is archived to NodeList.H48
  1719.                 also, using the LH archiver.
  1720.         
  1721.         
  1722.             Example 2:
  1723.         
  1724.                 ArcMethod ZIP LH
  1725.         
  1726.         
  1727.                 NodeDiff.Z48 arrives: the resulting nodelist is archived
  1728.                 to NodeList.Z48 using the ZIP archiver and to
  1729.                 NodeList.L48 using LH.
  1730.         
  1731.         
  1732.         
  1733.         ArcDiffMethod <meth>[,<f>] ...
  1734.         
  1735.                 Tells FastLst that it must make sure that all new
  1736.                 nodediffs are archived using the specified methods.
  1737.                 The original archive is NOT killed.
  1738.         
  1739.                 Obviously, a new nodediff is not rearchived to its
  1740.                 original method.
  1741.         
  1742.                 <meth> is the name of an archiver defined in
  1743.                 compress.cfg.
  1744.         
  1745.                 <f> is the optional specification of the letter to be
  1746.                 used for the variable archive extension. If not
  1747.                 specified, it is assumed equal to the first letter of
  1748.                 the defaults extension for this archiver.
  1749.         
  1750.                 Multiple ArcDiffMethod statements are allowed.
  1751.         
  1752.         
  1753.             Example:
  1754.         
  1755.                 ArcDiffMethod ZIP LH,H
  1756.         
  1757.                 NodeDiff.Z48 arrives: it is archived to NodeDiff.H48
  1758.                 also, using the LH archiver.
  1759.         
  1760.         
  1761.         
  1762.         
  1763.                                EXTERNAL COMMANDS
  1764.         
  1765.         
  1766.         The following verbs allow to invoke external commands.
  1767.         
  1768.         <command> can be any legal command-line command: it can be the
  1769.         name of an executable file, a batch file or any command that can
  1770.         be understood by your command-line interpreter (OS/2's CMD,
  1771.         4OS2(***), etc.).
  1772.         
  1773.         If <command> does not directly invoke an executable file,
  1774.         FastLst automatically invokes your default command line
  1775.         interpreter (as specified by the COMSPEC environment variable).
  1776.         
  1777.         
  1778.                             Archive Related Commands
  1779.         
  1780.         
  1781.         The following verbs share the same syntax:
  1782.         
  1783.         Two parameters are allowed in <command>:
  1784.         
  1785.         %a is translated to the full pathname of the archive file.
  1786.         
  1787.         %f is translated to the name of the file to be added or
  1788.            extracted (no path).
  1789.         
  1790.         <command> is run from the path where %f belongs.
  1791.         
  1792.         
  1793.         
  1794.         BeforeArcList <command>
  1795.         
  1796.                 Command to be run before archiving a nodelist.
  1797.         
  1798.         
  1799.         AfterArcList <command>
  1800.         
  1801.                 Command to be run after archiving a nodelist.
  1802.         
  1803.         
  1804.         BeforeUnArcList <command>
  1805.         
  1806.                 Command to be run before extracting a nodelist.
  1807.         
  1808.         
  1809.         AfterUnArcList <command>
  1810.         
  1811.                 Command to be run after extracting a nodelist.
  1812.         
  1813.         
  1814.         BeforeArcDiff <command>
  1815.         
  1816.                 Command to be run before archiving a nodediff.
  1817.         
  1818.         
  1819.         AfterArcDiff <command>
  1820.         
  1821.                 Command to be run after archiving a nodediff.
  1822.         
  1823.         
  1824.         BeforeUnArcDiff <command>
  1825.         
  1826.                 Command to be run before extracting a nodediff.
  1827.         
  1828.         
  1829.         AfterUnArcDiff <command>
  1830.         
  1831.                 Command to be run after extracting a nodediff.
  1832.         
  1833.         
  1834.         
  1835.             Example to hatch the new nodelist (note that you probably
  1836.                     need to specify the location of the config file
  1837.                     since the command is executed from the directory
  1838.                     where %f resides):
  1839.         
  1840.                 AfterArcList Hatch %a NODELIST "New NodeList"
  1841.         
  1842.         
  1843.         
  1844.                            NodeDiff Related Commands
  1845.         
  1846.         
  1847.         The following verbs accept different parameters:
  1848.         
  1849.         %l is translated to the full pathname of the nodelist.
  1850.         
  1851.         %d is translated to the full pathname of the nodediff.
  1852.         
  1853.         <command> is run from the current directory.
  1854.         
  1855.         
  1856.         
  1857.         BeforeEdit <command>
  1858.         
  1859.                 Command to be run before applying a nodediff.
  1860.         
  1861.         
  1862.         AfterEdit <command>
  1863.         
  1864.                 Command to be run after applying a nodediff.
  1865.         
  1866.         
  1867.         
  1868.                                   G L O B A L
  1869.         
  1870.                                    Section C
  1871.         
  1872.         
  1873.         
  1874.         The statements in this section affect the processing of all
  1875.         the output blocks and thereby of all the input nodelists.
  1876.         
  1877.         These statements can also be used in the "OUTPUT" section of an
  1878.         OUTPUT block (except for the "NoCompile" one) or inside an INPUT
  1879.         block, in which case they affect the compilation of the relevant
  1880.         block only.
  1881.         
  1882.         In the case you use a verb that has already been used in a
  1883.         "higher level" block, it will behave as a local override.
  1884.         
  1885.         
  1886.         
  1887.         MsgRem [<string>]
  1888.         
  1889.                 If MsgRemArea is used, FastLst reports the following
  1890.                 comments:
  1891.         
  1892.                 No MsgRem statement: none;
  1893.         
  1894.                 MsgRem with no <string>: all;
  1895.         
  1896.                 MsgRem with <string>: only the comments that begin with
  1897.                 ";<l> " where <l> is one of the characters in <string>.
  1898.         
  1899.                 The ";" character in <string> means that the comments
  1900.                 beginning with "; " or ";<word>" can be reported.
  1901.         
  1902.                 Common types of comment lines:
  1903.         
  1904.                 ;S This is a comment for SysOps
  1905.                 ;U This is a comment for users
  1906.                 ;F This comment should appear in formatted Fido lists
  1907.                 ;A This is a comment of general interest
  1908.                 ;E This comment is an error message
  1909.         
  1910.             Example:
  1911.         
  1912.                 "MsgRem SE"
  1913.         
  1914.                 Only comments destined to SysOps and Error messages are
  1915.                 reported (lines beginning with ";S " and ";E ".
  1916.         
  1917.         
  1918.         
  1919.         MsgLog [NullPhone] [Redirected] [Points]
  1920.         
  1921.                 Some common situations (not really errors) are not
  1922.                 reported to MsgLogArea by default: if you want FastLst
  1923.                 to report them anyway, you can use this statement, but
  1924.                 be aware that very long reports could come out.
  1925.         
  1926.                 "NullPhone": systems with empty phone string are logged.
  1927.         
  1928.                 "Redirected": systems redirected to their coordinators
  1929.                 are logged (Hold, unpublished).
  1930.         
  1931.                 "Points": points with empty phone string are logged; be
  1932.                 aware that most pointlists contain unpublished (thereby
  1933.                 with empty phone) points.
  1934.         
  1935.           Examples:
  1936.         
  1937.                 MsgLog Redirected
  1938.                 MsgLog Redirected NullPhone
  1939.         
  1940.         
  1941.         
  1942.         GermanPointList
  1943.         
  1944.                 Instructs FastLst to consider the affected nodelist as a
  1945.                 3D German style pointlist. Zone 2 is assumed, if not
  1946.                 explicitly specified in the "NodeList" statement.
  1947.         
  1948.                 This verb is usually used inside an Input Block, so that
  1949.                 it affects that nodelist only.
  1950.         
  1951.                 WARNING: Be aware that using this statement in the
  1952.                 global section or in an Output block affects all the
  1953.                 involved nodelists !
  1954.         
  1955.             Example Input Block:
  1956.         
  1957.                 NodeList Points24.???
  1958.                   GermanPointList
  1959.                   Nodediff Pr24Diff.???
  1960.                   ArcList Points24.??? 1
  1961.                   ArcDiff Pr24Diff.??? 5
  1962.                   ArcListDesc R24 PointList for day %d (%D), %a format
  1963.                   ArcDiffDesc R24 PointDiff for day %d (%D), %a format
  1964.         
  1965.         
  1966.         
  1967.         BeforeCompile <command>
  1968.         
  1969.                 Command to be run before compiling the affected nodelist.
  1970.         
  1971.                 This statement follows the same rules explained in
  1972.                 "External Commands" in section B.
  1973.         
  1974.                 The %l parameter is translated to the full pathname of
  1975.                 the nodelist.
  1976.         
  1977.                 <command> is run from the current directory.
  1978.         
  1979.         
  1980.         
  1981.         AfterCompile <command>
  1982.         
  1983.                 Command to be run after compiling the affected nodelist.
  1984.         
  1985.                 This statement follows the same rules explained in
  1986.                 "External Commands" in section B.
  1987.         
  1988.                 The %l parameter is translated to the full pathname of
  1989.                 the nodelist.
  1990.         
  1991.                 <command> is run from the current directory.
  1992.         
  1993.         
  1994.         
  1995.         SysOpLst
  1996.         
  1997.                 Output SysOp data from all the input nodelists to the
  1998.                 output list (FidoUser.Lst) and/or index (Sysop.ndx).
  1999.         
  2000.             Example:
  2001.         
  2002.                 SysOpLst
  2003.         
  2004.         
  2005.         
  2006.         FidoTxt [<FidoTxt>]
  2007.         
  2008.                 Generate an 80 Column Text List of nodes.
  2009.                 Nodes included via the "Node,..." method and points are
  2010.                 excluded.
  2011.         
  2012.                 <FidoTxt> optionally specifies an output file name,
  2013.                 which defaults to "NodeList.Txt". If the same file name
  2014.                 has already been used for other nodelists, the output is
  2015.                 appended.
  2016.         
  2017.             Example:
  2018.         
  2019.                 FidoTxt
  2020.         
  2021.         
  2022.         
  2023.         FidoPrn [<FidoPrn>]
  2024.         
  2025.                 Generate a 132 Column Text List of nodes.
  2026.                 Nodes included via the "Node,..." method and points are
  2027.                 excluded.
  2028.         
  2029.                 <FidoPrn> optionally specifies an output file name,
  2030.                 which defaults to "NodeList.Prn". If the same file name
  2031.                 has already been used for other nodelists, the output is
  2032.                 appended.
  2033.         
  2034.             Example:
  2035.         
  2036.                 FidoPrn
  2037.         
  2038.         
  2039.         
  2040.         IncCoord <CoordLev>
  2041.         
  2042.                 The coordinators of the specified and upper levels will
  2043.                 be always included, even if excluded by "IncAddr" and
  2044.                 "ExcAddr". <CoordLev> can be ZC, RC, NC, HC.
  2045.         
  2046.             Example:
  2047.         
  2048.                 IncCoord NC
  2049.         
  2050.         
  2051.         
  2052.                              Global Export Section
  2053.         
  2054.         
  2055.         You can use here the statements described in the "Export Global
  2056.         Section" of the "Export Block" of the Input Block.
  2057.  
  2058.         
  2059.         
  2060.                             O U T P U T   B L O C K
  2061.         
  2062.         
  2063.         
  2064.         The following verbs define the compilation of a single output
  2065.         binary nodelist.
  2066.         
  2067.         The block begins with a "Output Section", that affects the
  2068.         compilation of all the source (input) nodelists, followed by a
  2069.         sequence of "Input Blocks" that define how to handle each of the
  2070.         source nodelists.
  2071.         
  2072.         The first "output block" can be of a special kind: if the
  2073.         "NoCompile" statement is used instead of "Version7", this block
  2074.         indicates the actions necessary to maintain the specified
  2075.         nodelists, but they are not compiled.
  2076.         
  2077.         
  2078.         
  2079.         Version7 <Path> <Nodex> [<SysopNdx>]
  2080.         
  2081.                 Start of a block of config verbs defining the generation
  2082.                 of a Version 7 nodelist. You can generate one or more
  2083.                 Version 7 nodelists with different names and path for
  2084.                 the output files. Each "Version7" statement marks the
  2085.                 beginning of a new output-nodelist definition.
  2086.         
  2087.                 <Path> is the path where the output .DAT and .NDX files
  2088.                 are placed.
  2089.         
  2090.                 <Nodex> is the file name for the .DAT and address-index
  2091.                 .NDX files.
  2092.         
  2093.                 <SysopNdx> is the file name for the sysop-index .NDX
  2094.                 file. If you omit <SysopNdx>, no V7 SysOp-index will be
  2095.                 generated.
  2096.         
  2097.                 Unless you use different output nodelists for different
  2098.                 domains, you should usually adopt <Nodex>="NODEX" and
  2099.                 <SysopNdx>="SYSOP".
  2100.         
  2101.                 All the following verbs, up to the next "Version7" (if
  2102.                 any), are related to the preceding "Version7" output
  2103.                 files.
  2104.         
  2105.             Example:
  2106.         
  2107.                 Version7 d:\bbs\v7\ NODEX SYSOP
  2108.         
  2109.         
  2110.         
  2111.         
  2112.         NoCompile
  2113.         
  2114.                 This verb can be used to start the first "Output Block",
  2115.                 instead of "Version7".
  2116.         
  2117.                 This way the first output block becomes a "NoCompile"
  2118.                 block and the indicated nodelists are maintained but not
  2119.                 compiled.
  2120.         
  2121.                 This is a means for maintaining a NodeList (applying
  2122.                 nodediffs, archiving with different archivers etc.)
  2123.                 without compiling it.
  2124.         
  2125.                 The statements related to nodelist compilation (see
  2126.                 Global section C) are obviously illegal in a "NoCompile"
  2127.                 block.
  2128.         
  2129.         
  2130.         
  2131.         
  2132.                              O U T P U T   Section
  2133.         
  2134.         
  2135.         The following verbs affect the compilation of the current output
  2136.         block and must precede the definitions of the input blocks
  2137.         (which start with the Nodelist statement).
  2138.         
  2139.         
  2140.         FidoUserLst [<FidoUserLst>]
  2141.         
  2142.                 Generate "fidouser.lst style" text SysOp list.
  2143.                 <FidoUserLst> optionally specifies an output file name,
  2144.                 which defaults to "FidoUser.Lst". Different output
  2145.                 blocks require different names.
  2146.         
  2147.             Example:
  2148.         
  2149.                 FidoUserLst
  2150.         
  2151.         
  2152.         
  2153.         SysDup <AddrLst>
  2154.         
  2155.                 When a SysOp name is present in various nodes, all the
  2156.                 name/address couples are kept in the SysOp lists
  2157.                 (fidouser.lst/sysop.ndx). If you want to keep only one
  2158.                 address you can use one or more SysDup lines: the SysOps
  2159.                 who have the addresses listed in <AddrLst> will be
  2160.                 present in the output sysop lists with the specified
  2161.                 address only. You can use abbreviated addresses, if you
  2162.                 like, provided that the first address of every "SysDup"
  2163.                 is complete (FastLst cannot make any assumption for the
  2164.                 first item in a list).
  2165.         
  2166.             Example:
  2167.         
  2168.                 SysDup 2:332/504 505 336/980 3:25/28.27
  2169.         
  2170.         
  2171.         
  2172.                                 Block Specifications
  2173.         
  2174.         
  2175.         You can use here the same statements described in the "Global
  2176.         Section B" and (if this is not a "NoCompile" block) "Global
  2177.         Section C" and "Export Global Section" (see the Export Block
  2178.         below).
  2179.         
  2180.         
  2181.         
  2182.                              ADDRESS SPECIFIC STUFF
  2183.         
  2184.         
  2185.         
  2186.         The following verbs define address specific stuff that will
  2187.         affect the compilation of all the source nodelists compiled in
  2188.         the current output block. These statements are illegal in a
  2189.         "NoCompile" block.
  2190.         
  2191.         If you prefer, you can specify this type of information in the
  2192.         "Address Specific Stuff" section of the pertinent input block.
  2193.         
  2194.         WARNING: make sure all addresses have full info (incl. zone).
  2195.         
  2196.         
  2197.         
  2198.         Password <Addr> <Password>
  2199.         
  2200.                 Allows to specify <Password> one <Addr> at a time.
  2201.         
  2202.                 Version 7 has no limit on password length, however the
  2203.                 programs that use it are usually limited to 8 chars.
  2204.                 Some (rare) programs have problems with 8 chars and need
  2205.                 a maximum of 7 or 6 chars.
  2206.         
  2207.             Example:
  2208.         
  2209.                 Password 2:332/504.4 Password
  2210.         
  2211.         
  2212.         
  2213.         PasswordFile <PasswordFile>
  2214.         
  2215.                 Allows to include a password file that contains many
  2216.                 address/password couples, one per line.
  2217.         
  2218.                 In this file you can omit the "Password" keyword.
  2219.         
  2220.                 If you like, you can use some "Password" keywords
  2221.                 together with one "PasswordFile", however you cannot use
  2222.                 more than one "PasswordFile".
  2223.         
  2224.                 Please note that the definitions found in this file have
  2225.                 effect on the current (Output or Input) block ONLY.
  2226.                 FastLst writes to the log file which source or output
  2227.                 nodelist is affected by each passwordfile; so, in case
  2228.                 of doubts, just check the logs.
  2229.         
  2230.             Example:
  2231.         
  2232.                 PasswordFile fidonet.pwd
  2233.         
  2234.         
  2235.         
  2236.         Phone <Addr> <NewNumber>
  2237.         
  2238.                 Allows to override a nodelist phone number.
  2239.                 <NewNumber> must be in the form used in the nodelist.
  2240.         
  2241.             Example:
  2242.         
  2243.                 Phone 2:332/501.0 39-59-399999
  2244.         
  2245.         
  2246.         
  2247.         NodeFlags <Addr> <NewNodeFlags>
  2248.         
  2249.                 Allows to substitute the flags listed in the nodelist
  2250.                 entry of <Addr>.
  2251.         
  2252.                 If you want to change the CM flag or modem type flags
  2253.                 (HST, V32b, ZYX) etc, you can use this verb. Please note
  2254.                 that the old flags are lost, so you need to indicate all
  2255.                 the necessary flags.
  2256.         
  2257.             Example:
  2258.         
  2259.                 NodeFlags 2:332/501.0 CM,H16,V32b
  2260.         
  2261.         
  2262.         
  2263.         Flags <Addr> <Flags>
  2264.         
  2265.                 The Flags statement allows to set the "user defined"
  2266.                 bits in the Flags word of the compiled nodelist entry.
  2267.                 These bits are named 5,6,7,8,9,A,B,D,E,F where bit 5 is
  2268.                 the 6th bit and F is the 16th bit of the word.
  2269.         
  2270.             Example:
  2271.         
  2272.                 Flags 2:332/501.0 AB5   ; Set bits 5,A & B.
  2273.         
  2274.         
  2275.         
  2276.         Cost <Addr> <NewCost> [<NewUCost>]
  2277.         
  2278.                 <NewCost> and <NewUCost> are in the range 0->65535.
  2279.                 Overrides the Cost and User_Cost fields of <Addr> in the
  2280.                 compiled nodelist. If no <NewUCost> is given, it's taken
  2281.                 equal to <NewCost>.
  2282.         
  2283.             Example:
  2284.         
  2285.                 Cost 2:332/501.0 150
  2286.  
  2287.         
  2288.         
  2289.                                SEGMENT SELECTION
  2290.         
  2291.         
  2292.         The following verbs allow to include or exclude selected
  2293.         <NodeList> segments. If you do not use them, the full <NodeList>
  2294.         is compiled. Be aware that the process of checking each address
  2295.         against the list of segments to be included or excluded could
  2296.         slow down the compilation, even if some gain could come from the
  2297.         exclusion of large segments.
  2298.         
  2299.         These statements are obviously illegal in a "NoCompile" block.
  2300.         
  2301.         These statements can be used in an Input block to affect that
  2302.         nodelist only.
  2303.         
  2304.         
  2305.         
  2306.         IncAddr <PartAddrLst>
  2307.         
  2308.                 If you want to selectively include nodelist segments,
  2309.                 you can use this option: only zones, regions, nets,
  2310.                 hubs, nodes, points that are listed in <PartAddrLst>
  2311.                 will be present in the output files. You can specify
  2312.                 zone, region/net, hub/node and point numbers.
  2313.         
  2314.             Example:
  2315.         
  2316.                 IncAddr 1 2:33 2:200/100 3:632 4:801/17
  2317.         
  2318.                   Compiles: zone 1, region 33 of zone 2, hub 100 of net
  2319.                   200 of zone 2, net 632 of zone 3, node 4:801/17
  2320.         
  2321.         
  2322.         
  2323.         ExcAddr <PartAddrLst>
  2324.         
  2325.                 If you want to exclude some segments from the
  2326.                 compilation, you can list them in <PartAddrLst>, in the
  2327.                 same way as for "IncAddr". You can use either "IncAddr"
  2328.                 or "ExcAddr" or both of them to Include only selected
  2329.                 segments and exclude sub-segments.
  2330.         
  2331.             Example:
  2332.         
  2333.                 ExcAddr 2:332/500
  2334.         
  2335.                   Excludes Hub 500 of net 332 of zone 2.
  2336.         
  2337.         
  2338.         
  2339.         IncSysOp <PartAddrLst>
  2340.         
  2341.                 If not used, all the SysOp entries of the compiled
  2342.                 segments will be in the output SysOp list/index (if
  2343.                 SysOpLst is active). If you want to limit the SysOp
  2344.                 entries to selected segments, you can use this verb,
  2345.                 listing partial addresses in <PartAddrLst>. SysOps from
  2346.                 segments excluded from compilation via "IncAddr" and
  2347.                 "ExcAddr" will obviously never be present in the SysOp
  2348.                 list/index anyway.
  2349.         
  2350.             Example:
  2351.         
  2352.                 IncSysOp 2
  2353.         
  2354.                   Includes only SysOps from zone 2.
  2355.  
  2356.         
  2357.         
  2358.                              I N P U T   B L O C K
  2359.         
  2360.         
  2361.         The Input Block starts with a "NodeList" statement and continues
  2362.         until the start of the next Input or Output Block (NodeList or
  2363.         Version7 statement respectively) or the end of the configuration
  2364.         file.
  2365.         
  2366.         
  2367.         
  2368.         NodeList <NodeList> [<PartAddr>]
  2369.         
  2370.                 Start of a block of config verbs defining the processing
  2371.                 of the specified <NodeList> file. You can use many
  2372.                 "NodeList" statements to compile several different
  2373.                 source nodelists into the same output files specified by
  2374.                 the preceding "Version7" statement. Each "NodeList" verb
  2375.                 marks the beginning of a new input-nodelist
  2376.                 processing-info block.
  2377.         
  2378.                 When an address is present in more than one <NodeList>
  2379.                 (e.g. you compile both the full nodelist and the faster
  2380.                 updated local region or zone segment) only the entry
  2381.                 found in the last compiled <NodeList> is put in the
  2382.                 indexes. To have the most up-to-date entries in your V7
  2383.                 indexes, please include local segments after the larger
  2384.                 list.
  2385.         
  2386.                 <NodeList> is the name of the input nodelist.
  2387.                 If you don't specify a path, <InputPath> is assumed.
  2388.         
  2389.                 If a terminal ".???" is specified, all the files with 3
  2390.                 digits at the place of '???' are examined and that with
  2391.                 the latest 3 digit day of the year is choosen for
  2392.                 compilation.
  2393.         
  2394.                 The optional <PartAddr> is a partial address that must
  2395.                 be specified for nodelist segments that do not have full
  2396.                 address info. For example, a REGION segment usually
  2397.                 starts with the "Region," keyword and does not contain
  2398.                 any Zone info: its up to you to tell FastLst which zone
  2399.                 we are talking about. Analogously you should provide
  2400.                 zone and net info when compiling a Hub segment. The
  2401.                 region is assumed equal to the net number of the partial
  2402.                 address, the hub equal to the node number.
  2403.         
  2404.             Examples:
  2405.         
  2406.                 IMPORTANT: Please note that the following lines
  2407.                     represent a list of examples, NOT an example of
  2408.                     multiple nodelist compilation.
  2409.                     After each "NodeList" verb, you must specify all the
  2410.                     statements that affect the compilation of that
  2411.                     particular source file.
  2412.         
  2413.         
  2414.                 NodeList nodelist.???   ; Fidonet nodelist
  2415.         
  2416.                 NodeList region.033 2   ; Region 33 list, zone 2
  2417.         
  2418.                 NodeList region24.??? 2 ; Region 24 list, zone 2
  2419.         
  2420.                 NodeList net.332 2:33   ; Net list, zone 2, region 33
  2421.         
  2422.                 NodeList hub.500 2:332  ; Hub list, zone 2, net 332
  2423.         
  2424.                 NodeList locnode.500 2:332/500 ; Some nodes in zone 2,
  2425.                                                ; net 332, hub 500
  2426.         
  2427.                 NodeList points.504 2:332/504  ; Points of 2:332/504
  2428.                                                ; in "Point," format.
  2429.         
  2430.                 NodeList morenode.lst   ; Some nodes in the "Node,"
  2431.                                         ; format. No <PartAddr> required
  2432.                                         ; since the "Node," line gives
  2433.                                         ; full address info.
  2434.         
  2435.                 NodeList ptlist.???     ; Point List in the "Boss,"
  2436.                                         ; format. No <PartAddr> required
  2437.                                         ; since the "Boss," line gives
  2438.                                         ; full address info.
  2439.         
  2440.         
  2441.         
  2442.                                  Input Section
  2443.         
  2444.         
  2445.         The following statements affect the handling of the nodelist
  2446.         specified by the last "NodeList" statement (current Input
  2447.         Block).
  2448.         
  2449.         
  2450.         
  2451.         NodeDiff <NodeDiff>
  2452.         
  2453.                 <NodeDiff> is the name of the nodediff file.
  2454.                 If you don't specify a path, <InputPath> is assumed.
  2455.         
  2456.                 <NodeDiff> must terminate with ".???". FastLst will
  2457.                 search for a suitable <NodeDiff>, considering the files
  2458.                 that have a 3 digit day of the year in the place of the
  2459.                 trailing '???'.
  2460.         
  2461.             Example:
  2462.         
  2463.                 NodeDiff NODEDIFF.???
  2464.         
  2465.         
  2466.         
  2467.         ArcList <ArcList> [<Keep#>]
  2468.         
  2469.                 You can specify the name of the archive containing
  2470.                 <NodeList>. It is necessary if you use automatic
  2471.                 extraction/rearchiving, but it can even be used only to
  2472.                 delete old files.
  2473.         
  2474.                 <ArcList> is used to extract new nodelists, to compress
  2475.                 them using the methods defined in "ArcMethod", to
  2476.                 compress the new nodelists after the application of
  2477.                 nodediffs.
  2478.         
  2479.                 If <ArcList> has a terminating ".???", all the files
  2480.                 that have a suitable fixed (.zip, .lzh etc.) or variable
  2481.                 (.z10, .z17, .l10, .l17 etc.) extension are considered,
  2482.                 taking the digits as the last 2 digits of the day of the
  2483.                 year.
  2484.         
  2485.                 If you really want to limit search to a specified fixed
  2486.                 or variable extension, you can do:
  2487.                 "ArcList nodelist.zip", to consider .zip only;
  2488.                 "ArcList nodelist.z??", to consider .z?? only.
  2489.         
  2490.                 <Keep#> optionally specifies the number of archives to
  2491.                 be kept, basing on the day of the year (the file date is
  2492.                 also used to infer the correct chronological order).
  2493.         
  2494.                 If you maintain archives with multiple different
  2495.                 extensions (.z??, .l??, etc.) the actual number of files
  2496.                 increases, since multiple files with the same day
  2497.                 extension count for one.
  2498.         
  2499.                 The description associated to the deleted files is
  2500.                 removed from FILES.BBS.
  2501.         
  2502.             Example:
  2503.         
  2504.                 ArcList nodelist.??? 1
  2505.         
  2506.         
  2507.         
  2508.         ArcDiff <ArcDiff> [<Keep#>]
  2509.         
  2510.                 You can specify the name of the archive containing
  2511.                 <NodeDiff>. It is necessary if you use automatic
  2512.                 extraction/rearchiving, but it can even be used only to
  2513.                 delete old files.
  2514.         
  2515.                 <ArcDiff> must terminate with ".???".
  2516.         
  2517.                 All the files that have 2 digits in the place of the
  2518.                 last 2 '?' are examined, taking the digits as the last 2
  2519.                 digits of the day of the year.
  2520.         
  2521.                 If you really want to limit search to a specified
  2522.                 extension, you can do:
  2523.                 "ArcDiff nodediff.z??", to consider .z?? only.
  2524.         
  2525.                 <Keep#> optionally specifies the number of archives to
  2526.                 be kept, basing on the day of the year (the file date is
  2527.                 also used to infer the correct chronological order). In
  2528.                 the case of multiple archive extensions, the actual
  2529.                 number increases consequently.
  2530.         
  2531.                 The description associated to the deleted files is
  2532.                 removed from FILES.BBS.
  2533.         
  2534.             Example:
  2535.         
  2536.                 ArcDiff nodediff.??? 5
  2537.         
  2538.         
  2539.         
  2540.         ArcListDesc <Desc>
  2541.         ArcDiffDesc <Desc>
  2542.         
  2543.                 You can specify a description to be added to FILES.BBS
  2544.                 for the new nodelist and nodediff files created by
  2545.                 FastLst.
  2546.         
  2547.                 Some parameters are available:
  2548.         
  2549.                 %d : the 3 digit day number (0 padded)
  2550.                 %a : the archiver name
  2551.                 %D : the date, USA format (Feb 10, 1995)
  2552.                 %L : the date, Local format
  2553.         
  2554.             Example:
  2555.         
  2556.                 ArcListDesc Fido Nodelist for day %d (%D), %a format
  2557.                 ArcDiffDesc Fido Nodediff for day %d (%D), %a format
  2558.         
  2559.         
  2560.         
  2561.                                 Local Specifications
  2562.         
  2563.         
  2564.         You can use here the same statements described in the "Global
  2565.         Section B" and (if we are not in a "NoCompile" block) "Global
  2566.         Section C" and "Export Global Section" (see the Export Block
  2567.         below).
  2568.         
  2569.         
  2570.         
  2571.                              ADDRESS SPECIFIC STUFF
  2572.         
  2573.         
  2574.         You can specify here the address specific stuff that is related
  2575.         to the current source nodelist (if not inside a "NoCompile"
  2576.         block).
  2577.         
  2578.         If you have already used the "Output section" for specifying
  2579.         this kind of information, you can skip this section.
  2580.         
  2581.         WARNING:
  2582.         
  2583.         Often you will compile segments of a previously compiled
  2584.         nodelist. For example you could have a "NodeList nodelist.???"
  2585.         block for the world nodelist and then a "NodeList region.033"
  2586.         block for your region's nodelist segment.
  2587.         
  2588.         The majority of entries in the latter will be duplicates of
  2589.         entries already found in the former. However, in the case of
  2590.         duplicates, only the entries found in the last involved
  2591.         "NodeList" block will go to the indexes and be active. This way
  2592.         you can compile the full world nodelist while keeping your
  2593.         segment up-to-date with local segments that get updated faster
  2594.         than the full nodelist.
  2595.         
  2596.         When you have to specify "Address Specific Stuff" for nodes that
  2597.         are present in more than one "NodeList", you must do that in the
  2598.         last involved "NodeList" block (or in the Output Section, of
  2599.         course), otherwise your indications will have no effect.
  2600.         
  2601.         For a list of allowed statements, please see the "Address
  2602.         Specific Stuff" section of the "Output" section above.
  2603.         
  2604.         
  2605.         
  2606.                                SEGMENT SELECTION
  2607.         
  2608.         
  2609.         You can use here the same statements described in "Segment
  2610.         Selection" in the Output Section (if not inside a "NoCompile"
  2611.         block).
  2612.         
  2613.         
  2614.         
  2615.                                  EXPORT Block
  2616.         
  2617.         
  2618.         FastLst can "export" segments of nodelist: e.g. you can export
  2619.         the Region 25 from the world nodelist to a file called
  2620.         Region25.???, where ??? stands for the day of the year. Note
  2621.         that this feature is for exporting segments of nodelist to a
  2622.         dedicated file. To compile segments you should continue using
  2623.         the "Segment Selection" section of FastLst.Cfg.
  2624.         
  2625.         These blocks MUST be at the _END_ of an "Input Block"; there can
  2626.         be multiple Export Blocks in a single Input Block.
  2627.         
  2628.         Obviously the Export Block is available for compiled nodelists
  2629.         only, thus it is illegal inside a "NoCompile" block.
  2630.         
  2631.         The export is done ONLY when a new NodeList is found (or when
  2632.         the file to be exported exists neither in uncompressed nor in
  2633.         archived form), even if the config file is changed. So, you can
  2634.         safely hatch the created arcfile via the AfterArcExport command
  2635.         with no danger of hatching it all the times you change something
  2636.         in the cfg. Under these conditions, if you really want to export
  2637.         anyway, you must use the -i command line switch.
  2638.         
  2639.         IMPORTANT: If you use the same export filename for multiple
  2640.         source nodelists, all the exported segments are appended one
  2641.         another. This way, if you like, you can make FastLst generate a
  2642.         "plain" nodelist file with many different source nodelists in
  2643.         it, just appended one after another. Some people need this
  2644.         feature to create input for some other program. For this feature
  2645.         to work, you need to specify the '+' parameter in the "Export"
  2646.         statement. See the example at the end of the "Export Global
  2647.         Section".
  2648.         
  2649.         
  2650.         
  2651.         Export [+] <file> [<PartAddrLst>]
  2652.         
  2653.                 The '+' sign must be specified when you want to create a
  2654.                 joined list by exporting multiple nodelists to the same
  2655.                 export <file>. This way the exported file will be
  2656.                 created every time the nodelist is compiled and its
  2657.                 timestamp will not be changed to be equal to the source.
  2658.         
  2659.                 <file> is the name of the file to which you want to
  2660.                 export the selected segment(s).
  2661.         
  2662.                 <PartAddrLst> is the partial address list of segments to
  2663.                 be exported. Usually it is a single partial address.
  2664.                 If omitted, the entire nodelist is exported (useful to
  2665.                 create a joined nodelist).
  2666.         
  2667.                 This statement marks the start of an "Export Block".
  2668.                 Multiple "Export Blocks" are allowed in the same "Input
  2669.                 Block".
  2670.         
  2671.                 N.B. The Export blocks must be at the _END_ of an input
  2672.                 block. See the example at the end of the "Export Global
  2673.                 Section" below.
  2674.         
  2675.             Example:
  2676.         
  2677.                 Export region25.??? 2:25
  2678.         
  2679.         
  2680.         
  2681.         
  2682.                                  Export Section
  2683.         
  2684.         
  2685.         The following verbs define the parameters for the Export
  2686.         specified by the last "Export" statement.
  2687.         
  2688.         
  2689.         
  2690.         ArcExport <arcfile> [Keep#]
  2691.         
  2692.                 <arcfile> is the name of the archive file to which you
  2693.                 want to compress the exported <file>.
  2694.         
  2695.                 [Keep#] is the optional number of archive versions to be
  2696.                 kept, basing on the day of the year (the file date is
  2697.                 also used to infer the correct chronological order).
  2698.         
  2699.             Example:
  2700.         
  2701.                 ArcExport region25.??? 2
  2702.         
  2703.         
  2704.         
  2705.         ArcExportDesc <description>
  2706.         
  2707.                 <description> is the description to be applied to
  2708.                 FILES.BBS when a new archive is created.
  2709.         
  2710.             Example:
  2711.         
  2712.                 ArcExportDesc Region 25 %D, %a format
  2713.         
  2714.         
  2715.         
  2716.         
  2717.                              Export Global Section
  2718.         
  2719.         
  2720.         The following verbs can be used in the "Export Section" of an
  2721.         "Export Block", in the "Input Section" of an "Input Block", in
  2722.         the "Output Section" of an "Output Block", in the "Global
  2723.         Section".
  2724.         
  2725.         In few words, they are legal everywhere except for the
  2726.         "NoCompile" block.
  2727.         
  2728.         Depending on their positions, they affect the involved nodelists
  2729.         only.
  2730.         
  2731.         
  2732.         
  2733.         ArcExportMethod <meth>[,<f>] ...
  2734.         
  2735.                 Specifies the archive type(s) to be created for the
  2736.                 exported file.
  2737.         
  2738.                 <meth> is the archiver name as defined in Compress.Cfg.
  2739.         
  2740.                 <f> is the optional first letter to be used for variable
  2741.                 archive extensions.
  2742.         
  2743.             Example:
  2744.         
  2745.                 ArcExportMethod zip lh,H
  2746.         
  2747.         
  2748.         
  2749.         BeforeArcExport <command>
  2750.         AfterArcExport <command>
  2751.         
  2752.                 Commands to be run before/after archiving the exported
  2753.                 file.
  2754.         
  2755.                 <command> can be any type of command (executable file,
  2756.                 batch file, internal command, alias, etc.) and supports
  2757.                 the %a (full archive name) and %f (name of the file to
  2758.                 be compressed, no path) and is run from the directory
  2759.                 where %f resides.
  2760.         
  2761.                 WARNING: since <command> is executed from the directory
  2762.                 where the file to be compressed belongs, you could need
  2763.                 to specify the location of the config files used by the
  2764.                 programs invoked via <command>.
  2765.         
  2766.             Example:
  2767.         
  2768.                 AfterArcExport Hatch %a
  2769.         
  2770.         
  2771.         
  2772.         ExportNeededBeforeKill
  2773.         
  2774.                 Specifies that the exported file is needed by the
  2775.                 "BeforeKillSource" command.
  2776.         
  2777.         
  2778.         
  2779.             Full Example:
  2780.         
  2781.                 NodeList nodelist.???
  2782.                   NodeDiff nodediff.???
  2783.                   ArcList  nodelist.??? 2
  2784.                   ArcDiff  nodediff.??? 5
  2785.                   ArcListDesc Fido Nodelist for day %d (%D), %a format
  2786.                   ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  2787.                   Export region25.??? 2:25
  2788.                     ArcExport region25.??? 1
  2789.                     ArcExportDesc Region 25 %D, %a format
  2790.                     ArcExportMethod zip lh
  2791.                     AfterArcExport Hatch %a
  2792.                   Export region24.??? 2:24
  2793.                     ArcExport region24.??? 1
  2794.                     ArcExportDesc Region 24 %D, %a format
  2795.                     ArcExportMethod zip
  2796.         
  2797.         
  2798.             Full Example to generate a joined list:
  2799.         
  2800.                 NodeList nodelist.???
  2801.                   NodeDiff nodediff.???
  2802.                   ArcList  nodelist.??? 2
  2803.                   ArcDiff  nodediff.??? 5
  2804.                   ArcListDesc Fido Nodelist for day %d (%D), %a format
  2805.                   ArcDiffDesc Fido Nodediff for day %d,(%D), %a format
  2806.                   Export + megalist.Lst
  2807.         
  2808.                 NodeList zonelist.???
  2809.                   NodeDiff zonediff.???
  2810.                   ArcList  zonelist.??? 2
  2811.                   ArcDiff  zonediff.??? 5
  2812.                   ArcListDesc Zonelist for day %d (%D), %a format
  2813.                   ArcDiffDesc Zonediff for day %d,(%D), %a format
  2814.                   Export + megalist.Lst
  2815.                     ArcExport megalist.??? 1
  2816.                     ArcExportDesc MegaList, %a format
  2817.                     ArcExportMethod zip lh
  2818.  
  2819.         
  2820.         
  2821.                             COMPRESS DEFINITION FILE
  2822.         
  2823.         
  2824.         The <compress_cfg> file is a sequence of Archive definition
  2825.         blocks, each one starting with "Archiver" and ending with "End
  2826.         Archiver". You can find an example in the Compress.Cfg file
  2827.         included in the FastLst distribution pack.
  2828.         
  2829.         The order of the archive definition blocks within <compress_cfg>
  2830.         may be important: when trying to unpack a compressed file, the
  2831.         list of archivers is scanned in a reverse order.
  2832.         
  2833.         In the case of two archivers that use the same identification
  2834.         character at the beginning of the file (e.g. ARC and PAK), you
  2835.         must specify the archiver that can unpack both (PAK) after the
  2836.         other one (ARC).
  2837.         
  2838.         The compress.cfg file can be shared between DOS and OS/2
  2839.         applications: the "DOS" and "OS2" keywords are available to
  2840.         distinguish between the commands to be used under DOS and OS/2.
  2841.         O.S. specific archivers or commands must be prefixed with the
  2842.         relevant keyword.
  2843.         
  2844.         IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  2845.         parsed by FastLst's DOS and OS2 versions respectively. If you
  2846.         need your FastLst/2 execute a DOS command, you MUST NOT use the
  2847.         DOS keyword: if you do, FastLst/2 will never parse that line; if
  2848.         you do not, Fastlst/2 will execute the DOS command "normally",
  2849.         provided you have installed OS/2's Dos support.
  2850.         
  2851.         
  2852.         
  2853.         Archiver <ARCname>
  2854.         
  2855.                 Starts the Archive definition block.
  2856.         
  2857.                 <ARCname> is the name used in FastLst.Cfg for this
  2858.                 archiver.
  2859.         
  2860.             Example:
  2861.         
  2862.                 Archiver ZIP
  2863.         
  2864.         
  2865.         
  2866.         Extension  <ext>
  2867.         
  2868.                 Specifies the default extension for the compressed
  2869.                 files.
  2870.         
  2871.             Example:
  2872.         
  2873.                 Extension ZIP
  2874.         
  2875.         
  2876.         
  2877.         Ident <ofs>,<ID>
  2878.         
  2879.                 <ofs> is a decimal integer number representing the
  2880.                 offset at which FastLst must look for the archive
  2881.                 identity marker <ID>.
  2882.         
  2883.                 Negative values can be used to indicate offsets from the
  2884.                 END of a compressed file. -1 means "the last byte", -2
  2885.                 "the second last byte" and so on.
  2886.         
  2887.                 <ID> is a series of hexadecimal figures which represent
  2888.                 the bytes of the marker string that FastLst must look
  2889.                 for at the specified offset in the files it is trying to
  2890.                 unpack.
  2891.         
  2892.             Example:
  2893.         
  2894.                 Ident 0,504b0304  ; "PK^c^d"
  2895.         
  2896.         
  2897.         
  2898.         Add <command>
  2899.         
  2900.                 Specifies the command to add files to an archive.
  2901.                 %a and %f are translated to the name of the archive and
  2902.                 file to add.
  2903.         
  2904.             Example:
  2905.         
  2906.                 Add zip -jk %a %f
  2907.         
  2908.         
  2909.         
  2910.         Extract <command>
  2911.         
  2912.                 Specifies the command to extract files from an archive.
  2913.                 %a and %f are translated to the name of the archive and
  2914.                 file to extract.
  2915.         
  2916.             Example:
  2917.         
  2918.                 Extract unzip -qqnjC %a %f
  2919.         
  2920.         
  2921.         
  2922.         View <command>
  2923.         
  2924.                 This line is recognized and accepted for compatibility,
  2925.                 but not used by FastLst.
  2926.         
  2927.         
  2928.         
  2929.         End Archiver
  2930.         
  2931.                 This statement is used to close a Archive definition.
  2932.         
  2933.         
  2934.         
  2935.             Complete example 1 (you need OS/2 only):
  2936.         
  2937.         Archiver ZIP
  2938.              Extension     ZIP
  2939.              Ident         0,504b0304
  2940.              Add           zip -jk %a %f
  2941.              Extract       unzip -qqnjC %a %f
  2942.              View          unzip -v %a
  2943.         End Archiver
  2944.         
  2945.         
  2946.             Complete example 2 (you need DOS only):
  2947.         
  2948.         Archiver ZIP
  2949.              Extension     ZIP
  2950.              Ident         0,504b0304
  2951.              Add           pkzip -a %a %f
  2952.              Extract       pkunzip -n %a %f
  2953.              View          pkzip -v %a
  2954.         End Archiver
  2955.         
  2956.         
  2957.             Complete example 3 (you need both OS/2 and DOS):
  2958.         
  2959.         Archiver ZIP
  2960.              Extension     ZIP
  2961.              Ident         0,504b0304
  2962.         OS2  Add           zip -jk %a %f
  2963.         DOS  Add           pkzip -a %a %f
  2964.         OS2  Extract       unzip -qqnjC %a %f
  2965.         DOS  Extract       pkunzip -n %a %f
  2966.         OS2  View          unzip -v %a
  2967.         DOS  View          pkzip -v %a
  2968.         End Archiver
  2969.         
  2970.         
  2971.             Complete example 4 (archiver to be used under DOS only):
  2972.         
  2973.         DOS Archiver ZOO
  2974.         DOS     Extension       ZOO
  2975.         DOS     Ident           0,5a4f4f                        ; "ZOO"
  2976.         DOS     Add             zoo a: %a %f
  2977.         DOS     Extract         zoo e:O %a %f
  2978.         DOS     View            zoo v %a
  2979.         DOS End Archiver
  2980.         
  2981.         
  2982.             Complete example 5 (it's a DOS executable, to be used under
  2983.                                 DOS or OS/2 indifferently):
  2984.         
  2985.         Archiver ZOO
  2986.              Extension       ZOO
  2987.              Ident           0,5a4f4f                        ; "ZOO"
  2988.              Add             zoo a: %a %f
  2989.              Extract         zoo e:O %a %f
  2990.              View            zoo v %a
  2991.         End Archiver
  2992.  
  2993.         
  2994.         
  2995.                          T R O U B L E S H O O T I N G
  2996.         
  2997.         
  2998.         Problem:  FastLst does not extract the correct
  2999.                   nodelist/nodediff.
  3000.         
  3001.         Solution: Perhaps there is some nodelist/nodediff with corrupted
  3002.                   file date. Check your "ArcPath", manually extract to
  3003.                   the "InputPath" the required nodelist/nodediff and
  3004.                   delete the archive (or reset its file-date so that it
  3005.                   is similar to that of the enclosed file). FastLst will
  3006.                   automatically rearchive the nodelist/nodediff if you
  3007.                   use "ArcMethod"/"ArcDiffMethod", otherwise you can
  3008.                   rearchive manually.
  3009.         
  3010.         
  3011.         Problem:  FastLst goes out of memory (Dos versions).
  3012.         
  3013.         Solution: DOS 16: - try freeing as much conventional memory as
  3014.                             possible.
  3015.                           - reduce the "MsgSize" buffer, if you have
  3016.                             used that statement in the configuration.
  3017.                           - be aware that 530K of free conventional
  3018.                             memory is the minimum requirement.
  3019.                           - If you have a 386sx or better, you can use
  3020.                             the 32 bit version that has less stringent
  3021.                             conventional memory requirements, but you
  3022.                             will need at least 800KB of extended memory.
  3023.         
  3024.                   DOS 32: - give more DPMI memory to FastLst
  3025.                           - enable the temporary file method: use the -t
  3026.                             command line switch or the "FileMode"
  3027.                             statement in the configuration file.
  3028.         
  3029.         
  3030.         Problem:  FastLst works very slowly (OS/2 32 bit version).
  3031.         
  3032.         Solution: Perhaps you are compiling a large nodelist or set of
  3033.                   nodelists on a system with few MegaBytes of free
  3034.                   physical RAM, so that OS/2 needs to extensively use
  3035.                   virtual memory. Try using the "temporary file" method:
  3036.                   specify the -t command line switch or use the
  3037.                   "FileMode" statement in the configuration file.
  3038.         
  3039.         
  3040.         Problem:  FastLst loads the system excessively, so that other
  3041.                   OS/2 tasks don't perform properly (OS/2 32 bit version).
  3042.         
  3043.         Solution: Use the "Priority Idle" statement in the configuration
  3044.                   file, so that FastLst receives its time slices only
  3045.                   when other processes with higher priority are idle.
  3046.         
  3047.         
  3048.         Problem:  I run FastLst while the communications are off, so I
  3049.                   would like it to run as fast as possible even if it is
  3050.                   in the background and other task are active (OS/2 32
  3051.                   bit version).
  3052.         
  3053.         Solution: Use the "Priority High 31" statement in the
  3054.                   configuration file, so that FastLst receives the
  3055.                   maximum priority for "non time-critical" processes.
  3056.         
  3057.         
  3058.         Problem:  I cannot find the solution to my problems.
  3059.         
  3060.         Solution: - Try linking the APWORKS support echo
  3061.                   - Try asking your local supporter
  3062.                   - Try asking the author directly
  3063.                   You can find the addresses in the ReadMe.1st file.
  3064.         
  3065.  
  3066.         
  3067.                                S H A R E W A R E
  3068.         
  3069.         
  3070.         If you like this program and continue using it, you should pay
  3071.         the author for his work, as per the ShareWare concept of
  3072.         distribution.
  3073.         
  3074.         Please see LICENSE.DOC and REGISTER.DOC for information.
  3075.         
  3076.         Thank you for your interest in FastLst.
  3077.         
  3078.